Я написал быстрое расширение jQuery для решения этой проблемы, когда я столкнулся с ним, который:
- Сбрасывает ошибки проверки на уровне поля
- Очищает / скрывает сводку проверки
- Сбрасывает внутренний список ошибок jQuery Validate
Его можно вызывать из элемента $ (выделенного) внутри формы или из самой формы.
Вот пример вызова (входные данные находятся внутри формы):
<input onclick="$(this).resetValidation()" type="reset" value="Reset" />
Вот код плагина jQuery:
(function ($) {
//re-set all client validation given a jQuery selected form or child
$.fn.resetValidation = function () {
var $form = this.closest('form');
//reset jQuery Validate's internals
$form.validate().resetForm();
//reset unobtrusive validation summary, if it exists
$form.find("[data-valmsg-summary=true]")
.removeClass("validation-summary-errors")
.addClass("validation-summary-valid")
.find("ul").empty();
//reset unobtrusive field level, if it exists
$form.find("[data-valmsg-replace]")
.removeClass("field-validation-error")
.addClass("field-validation-valid")
.empty();
return $form;
};
})(jQuery);
Надеюсь, это помогло! Вы можете прочитать больше об этом и посмотреть другие примеры в моем блоге здесь:
http://www.johnculviner.com/post/2011/11/16/ClearReset-MVC-3-Form-and-Unobtrusive-jQuery-Client-Validation.aspx