DataTypeAttribute是示出了错误的信息(DataTypeAttribute is sh

2019-09-16 09:09发布

我创建了以下属性:

public class SpecificDataTypeAttribute : DataTypeAttribute
{
    public SpecificDataType(DataType dataType, string field)
        : base(dataType)
    {
        this.ErrorMessage = string.Format("{0} {1}", field, Messages.SpecificDataTypeAttribute);
    }
}

而使用像:

[SpecificDataType(DataType.DateTime, "Initial date")]
public DateTime? InitialDate { get; set; }

所以,这是在消息Messages.SpecificDataTypeAttribute"is in a incorrect format." 。 当我输入一个错误的日期在InitialDate,我得到了默认的错误: "The value '12' is not valid for InitialDate." 。 为什么? 我把断点和代码调用构造函数SpecificDataType。

Answer 1:

您将要在错误的方向-在asp.net mvc的, DataTypeAttribute没有定义的验证规则。 这或多或少是UIHintAttribute -帮助指定编辑或显示模式渲染属性时要使用的模板。

看看这个答案 ,了解定制验证消息的系统类型

为值PropertyValueInvalid被格式化,以代替{0}由无效的值,和{1}与属性名称。 所以,你可以把它定义为

{1}是在无效的格式



Answer 2:

在4 MVC能够本地化默认的错误消息。 http://weblogs.asp.net/imranbaloch/archive/2013/03/31/localizing-default-error-messages-in-asp-net-mvc-and-web-form.aspx



文章来源: DataTypeAttribute is showing the wrong message