В моих ViewModels я использую несколько DataAnnotations для проверки данных формы, обычно есть 2-3 аннотации на поле.
Например, поле для адреса электронной почты может выглядеть так:
[Required(ErrorMessage = "Please enter an email address.")]
[Email(ErrorMessage = "That is not a valid email address.")] // Custom
public string Email { get; set; }
Теперь, если кто-то отправит форму, обе ошибки будут отображаться в сводке проверки. Есть ли простой способ указать порядок запуска аннотаций проверки, чтобы в случае сбоя обязательной проверки проверка электронной почты не запускалась?
Если это невозможно, как это обычно делается? Должен ли я создавать собственные валидаторы для любого поля, которое имеет более одной аннотации? Будет ли это подходящим способом использовать аннотации, когда одна обрабатывает несколько типов проверки?
(Я также знаю, что, возможно, я мог бы объединить аннотацию Required в настраиваемую аннотацию Email, но это всего лишь пример).