ASP.NET mvc 2 - 如何添加“确认您的电子邮件地址”字段?

问题描述:

比方说,我有一个模型,看起来像这样:ASP.NET mvc 2 - 如何添加“确认您的电子邮件地址”字段?

public class MyModel 
{ 
    [DisplayName("Email:")] 
    [Required(ErrorMessage = "Email is required")] 
    [Email(ErrorMessage = "Email is invalid")] 
    public string Email { get; set; } 
} 

在ASP.NET MVC 2,我想呈现的文本框和验证,像这样:

<%=Html.LabelFor(x => x.Email)%> 
<%=Html.TextBoxFor(x => x.Email)%> 
<%=Html.ValidationMessageFor(x => x.Email)%> 

如何添加第二个字段允许用户使用显示名称和模型属性中的验证确认他们的电子邮件地址?

装饰你的类具有以下属性:

[PropertiesMustMatch("Email", "ConfirmEmail", ErrorMessage = "The Email Address and confirmation Email Address do not match.")] 
    public class MyModel 
    { 
     [DisplayName("Email:")] 
     [Required(ErrorMessage = "Email is required")] 
     [Email(ErrorMessage = "Email is invalid")] 
     public string Email { get; set; } 

     [DisplayName("Confrim Email:")] 
     [Required(ErrorMessage = "Email is required")] 
     [Email(ErrorMessage = "Email is invalid")] 
     public string ConfirmEmail { get; set; } 
    } 
+0

而且,这是否验证消息在视图中显示?我没有在页面的任何地方使用Html.ValidationSummary ... – Chris 2010-09-13 20:02:35

+0

看看:ModelState.AddModelError,那里你可以添加错误消息,我相信它会看起来像这样:ModelState.AddModelError(“ConfirmEmail”,“不匹配”); – 2010-09-13 20:33:30