我有一个看起来像这样的 MVC 模型类:
[ValidateNewRegistration]
public class NewRegistrationModel {
[System.ComponentModel.DisplayName("Profile Display Name")]
[Required(ErrorMessage = "Display Name must be specified.")]
[StringLength(50)]
public string DisplayName { get; set; }
[System.ComponentModel.DisplayName("Email Address")]
[Required(ErrorMessage = "Email address must be specified.")]
[RegularExpression("^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}$",
ErrorMessage = "The email address you specified is invalid.")]
[StringLength(100)]
public string EmailAddress1 { get; set; }
}
在我看来,我有这个:
@Html.ValidationSummary()
@Html.EditorForModel()
我了解如何使用元数据来标记属性,但我想做的是实现我自己的编辑器模板,其中有两个字段......名字和姓氏,将在至少 1/2 中使用我的网站上有十几个地方。
如何添加错误消息,以便它们出现在验证摘要中,但以包含在 EditorTemplate 中的方式出现?
从长远来看,我正在寻找的是能够将“[UIHint(”--Editor Template--“)]”放入类中,并使编辑器模板自包含足以发出它的onw错误消息的形式场地。这样我就不必将元数据添加到显示 [Required...] 或 [RegularExpression...] 的类中。我的最终目标是一个看起来像这样的类:
[ValidateNewRegistration]
public class NewRegistrationModel {
[System.ComponentModel.DisplayName("Profile Display Name")]
[UIHint("DisplayName")]
public string DisplayName { get; set; }
[System.ComponentModel.DisplayName("Email Address")]
[UIHint("EmailAddress")]
public string EmailAddress1 { get; set; }
[System.ComponentModel.DisplayName("Email Address (confirm)")]
[UIHint("EmailAddress")]
public string EmailAddress2 { get; set; }
}