MVC: Как использовать метод «частичной проверки», отображая только предупреждение и проверяя модель? - PullRequest
1 голос
/ 01 марта 2012

Мне нужно реализовать «метод частичной проверки» в MVC, оценивая некоторые условия. Проблема в том, что результат проверки, в некоторых случаях, должен просто отображать предупреждение, позволяющее проверить модель , в то время как на основании других условий должен возвращать ошибку.Является ли это возможным?

Я начинаю с этот ответ , чтобы реализовать частичную проверку:

      public class DontValidateEmailAttribute : ActionFilterAttribute 
         {  public override void OnActionExecuting(ActionExecutingContext filterContext) 
                 {
                    var modelState = filterContext.Controller.ViewData.ModelState;     
                    var incomingValues = filterContext.Controller.ValueProvider;    
                    var key = modelState.Keys.Single(x => incomingValues.Equals("Email"));
                    modelState[key].Errors.Clear();  
                  }
          }

Как я уже говорил, мне нужно ** отобразить результат проверки(например, предложение адреса электронной почты), но устраните любую ошибку, касающуюся проверенного атрибута Это правильное направление, или я должен использовать другие методы, такие как словари проверки и т. д.?

ОБНОВЛЕНИЕ Я заметил, что этот вопрос относится к этому , который все еще открыт.

1 Ответ

1 голос
/ 02 марта 2012

Удаление записей ModelState не кажется мне очень аккуратным.

Если ваши правила проверки немногочисленны, вы можете унаследовать свои собственные атрибуты проверки от стандартных (например, WeakRequiredAttribute), которые помещают свои сообщения проверки в какую-то другую коллекцию (не в Ошибки моделиState).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...