Есть ли способ валидации модели на основе аннотаций коротких циркулирующих данных? - PullRequest
0 голосов
/ 15 января 2019

Есть ли способ сообщить ASP.NET MVC:

  1. Не , чтобы продолжить проверку остальных атрибутов проверки в случае сбоя определенного из них?

  2. И затем также, чтобы продолжить с остальными атрибутами проверки независимо от того, отказывает определенный или нет? В любом случае это поведение по умолчанию.

Например,

[MaxLength(200)] // don't go ahead with the next 
                 // validation attribute applied, i.e. the
                 // RegularExpressionAttribute below if this one 
                 // fails, since there really would be no point in 
                 // doing that.
[RegularExpression(...)]
public string MyProperty { get; set; }

И иногда также для его настройки другим способом, то есть не сказать, что это короткое замыкание, которое в настоящее время кажется поведением по умолчанию, например:

[MaxLength(200)]  // sure, go ahead with the next one 
                  // even if this one fails
[RegularExpression(...)]
public string MyProperty { get; set; }

По сути, мой вопрос почти такой же, как этот вопрос без ответа .

Я использую ASP.NET MVC 5.2.7 для .NET Framework 4.5.2.

1 Ответ

0 голосов
/ 16 января 2019

Короче говоря, я не верю, что MVC предлагает эту функцию с предоставленными аннотациями данных.

Вы должны спросить себя, почему вы хотите следовать предложенному подходу. Тип проверок, выполняемых аннотациями данных MVC, прост с вычислительной точки зрения, нет смысла в существовании при первом сбое . Если ваши аннотации украшают модель представления, пользователь почти наверняка предпочтет увидеть все, что не удалось, поэтому он может исправить все свои ошибки за один раз. Повторная отправка формы только для того, чтобы найти последующее поле, не проходит проверку, будет кошмаром.

...