我的模型对象上有一个名为EmailAddress
. 我正在使用Html.EditorFor
此页面上所有字符串属性的输入字段,以及一个可以正常工作的自定义编辑器模板。但是,在我添加EmailAddressAttribute
到此属性的那一刻,EditorFor 似乎不再将该属性检测为字符串类型,或者至少,它拒绝使用我为字符串提供的编辑器模板。
这有效:
[DisplayName("EmailAddress")]
[Required(ErrorMessage = "Required")]
[StringLength(100, ErrorMessage = "Must be <= 100 characters.")]
public string EmailAddress { get; set; }
// and then in my view...
@Html.EditorFor(x => x.EmailAddress)
这不会:
[DisplayName("EmailAddress")]
[Required(ErrorMessage = "Required")]
[StringLength(100, ErrorMessage = "Must be <= 100 characters.")]
[EmailAddress(ErrorMessage="Invalid email address.")]
public string EmailAddress { get; set; }
// and then in my view...
@Html.EditorFor(x => x.EmailAddress)
在第二个示例中,使用了默认的字符串编辑器模板,而不是我自己的。同一模型上的其他属性使用正确的编辑器模板进行渲染。
我是否遗漏了一些明显的东西,或者这看起来像是一个错误?