У меня есть ViewModel с некоторыми общедоступными свойствами, которые имеют аннотации данных, например:
[Required]
public string PointOfContact { get; set; }
Который работает просто отлично. У меня есть вся необходимая сантехника для отображения правильного форматирования элемента управления и сообщений об ошибках при сбое проверки.
Однако у меня есть несколько полей, которые условно обязательны для заполнения в зависимости от значения флажка. Например:
public bool Briefing { get; set; }
public DateTime BriefingTime { get; set; }
В этом случае я хочу, чтобы BriefingTime требовался только в том случае, если установлен флажок, связанный со свойством Briefing. Видимость BriefingTime уже привязана к Briefing, поэтому все, что мне нужно, это чтобы он имел обычное поведение Required при установленном флажке.
Есть ли способ сделать это "из коробки", или мне нужно написать свой собственный класс аннотации данных? Как бы выглядел такой класс?