有没有办法在MVC3模型上使用条件验证?
例如:
public class User
{
[Required]
public string Password { get; set; }
[Required, Compare("Password")]
public string ComparePassword { get; set; }
}
我希望仅在添加新用户时才需要密码和确认密码字段。但是在编辑时我希望这些是空的(视图中的文本框)。只有当用户输入新密码和确认密码时,才会在数据库中更改密码。
由于
答案 0 :(得分:2)
通常,您将具有单独的AddUserViewModel和EditUserViewModel类以及相应的字段和验证器。然后在控制器操作中,如果模型有效,则将视图模型转换为用户实体并将其传递给业务逻辑/服务以进行保存。您可以使用Automapper。