【发布时间】:2013-11-05 02:53:37
【问题描述】:
我有一个看起来像这样的 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; }
}
【问题讨论】:
标签: c# .net asp.net-mvc templates razor