我有一门这样的课:
public class Document
{
public int DocumentType{get;set;}
[Required]
public string Name{get;set;}
[Required]
public string Name2{get;set;}
}
现在,如果我将 [Required]
数据注释放在 Name
和 Name2
属性上,那么一切正常,如果 Name
或 Name2
为空,验证将抛出一个错误。
但是我希望 Name
字段只有在 DocumentType
等于1的情况下才是必需的
只有当 DocumentType
等于2时才需要 Name2
。
public class Document
{
public int DocumentType{get;set;}
[Required(Expression<Func<object, bool>>)]
public string Name{get;set;}
[Required(Expression<Func<object, bool>>)]
public string Name2{get;set;}
}
但是我知道我不能,它会导致一个错误。对于这个要求我应该做什么?