在我的业务领域中,“用户”实体与单个“人员”实体相关联(因此用户实例包含安全/登录信息,但人员实体包含人员的联系信息)。
我的 ViewModel 看起来像这样:
class UserViewModel {
[Required]
public String UserName { get; set; }
public Int64 PersonId { get; set; }
public PersonViewModel Person { get; set; }
public Boolean PersonViewModelIsNew { get; set; }
}
class PersonViewModel {
[Required]
public String FirstName;
[Required]
public String LastName;
// etc
}
该网页允许访问者编辑用户,以便他们可以用全新的个人实例或从数据库中提取的现有个人替换用户的个人信息。
附上表格截图:
这个想法是,如果选择了“另一个员工”单选按钮(映射到“UserViewModel.PersonViewModelIsNew”属性),那么“UserViewModel.Person”成员的验证将被禁用。
但是 ASP.NET MVC 没有像 WebForms 那样的验证组的概念,那么我怎样才能控制这样的验证呢?