14

有没有一种方法使用MVC数据验证属性来验证客户端,如果我的模型上的两个字段是相等的。MVC 3验证确认电子邮件地址字段

我有两个领域:

[Required(ErrorMessage = "*")] 
    [Email(ErrorMessage = "*")] 
    public string Email { get; set; } 

    [Required(ErrorMessage = "*")] 
    [Email(ErrorMessage = "*")] 
    public string ConfirmEmail { get; set; } 

我希望能够增加一个属性,这两个领域应该是equel,如果没有就会出现一个验证准则错误。有没有办法做到这一点?

谢谢。

+0

创建一个新项目(一个包括默认登录/注册的东西),然后看看在注册模式。它比较密码。 – lahsrah

回答

29

是的 - 例如:

[Compare("Email", ErrorMessage = "The email and confirmation do not match.")] 

希望有所帮助。

13

看看在CompareAttribute

[Compare("Email", ErrorMessage = "The email and confirmation email do not match.")] 
public string ConfirmEmail { get; set; } 
+0

+1你是第一个有趣的工作方式 –

+0

@Adam Tuliper - 实际上有点奇怪的是,我在Russ之前略微回答了(最初2秒),然后他给我的答案加上了他的(注意同样的'ErrorMessage'),但是在最终的我被接受了。所以的确如此,它的工作原理很有趣! – Timbo

+0

给大家一轮+1! –