Условно обязательное свойство с использованием аннотаций данных

У меня есть такой класс:

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 и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;}
}

но я знаю, что не могу, это вызывает ошибку. Что я должен сделать для этого требования?

Ответы на вопрос(6)

Ваш ответ на вопрос