相关疑难解决方法(0)

使用数据注释的有条件的必需属性

我有一个这样的课:

public class Document
{
   public int DocumentType{get;set;}

   [Required]
   public string Name{get;set;}

   [Required]
   public string Name2{get;set;}
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我[Required]NameName2属性上放置数据注释,那么一切正常,如果NameName2为空,验证将引发错误.

但我希望Name只有当字段DocumentType等于1 Name2时才需要字段,只有当DocumentType等于2 时才需要字段.

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;}
}
Run Code Online (Sandbox Code Playgroud)

但我知道我不能,它会导致错误.我该怎么做才能满足这个要求?

c# requiredfieldvalidator required data-annotations

55
推荐指数
5
解决办法
5万
查看次数