Я использую встроенный ModelState
объект, хранящий мои ошибки проверки. Валидация выполняется либо в привязке, либо вручную, путем добавления ошибок, подобных этой:
ModelState.AddModelError("LastName","Last name can't be Doe")
.
Чтобы поддержать сценарий публикации формы ajax, я создал метод расширения для ModelStateDictionary GetErrors()
, который возвращает легкий объект ModelStateErrorsDTO
(упрощенная версия ошибок проверки состояния модели, подходящая для сериализации json). *
Когда сообщение формы представляет собой запрос ajax, я возвращаю сериализованный json ModelStateErrorsDTO
.
Со стороны jquery я написал вспомогательную функцию, которая помещает ошибки проверки рядом с соответствующими полями ввода, используя классы mvc css по умолчанию, т.е. input-validation-error
.
Таким образом, вы сможете создавать ненавязчивые ajaxforms с сообщениями проверки.
Надеюсь, это поможет.