MVC3 DataAnnotaions验证

时间:2011-01-28 08:13:49

标签: asp.net-mvc-3

有没有办法在MVC3模型上使用条件验证?

例如:

public class User
{ 
    [Required]
    public string Password { get; set; } 
    [Required, Compare("Password")] 
    public string ComparePassword { get; set; } 
}

我希望仅在添加新用户时才需要密码和确认密码字段。但是在编辑时我希望这些是空的(视图中的文本框)。只有当用户输入新密码和确认密码时,才会在数据库中更改密码。

由于

1 个答案:

答案 0 :(得分:2)

通常,您将具有单独的AddUserViewModel和EditUserViewModel类以及相应的字段和验证器。然后在控制器操作中,如果模型有效,则将视图模型转换为用户实体并将其传递给业务逻辑/服务以进行保存。您可以使用Automapper