Есть ли в jquery.validate функция, которая будет сбрасывать одно поле, как resetForm делает для формы? - PullRequest
17 голосов
/ 14 мая 2011

Я хочу вызвать функцию jquery для ручного удаления ошибок из одного поля и сброса разметки ошибок. Есть ли функция, которая делает это, которая была бы похожа на функцию resetForm?

Ответы [ 5 ]

11 голосов
/ 12 декабря 2015

Вы можете сделать следующее для проверки одного поля:

$('#your_field').valid();

Может быть, это кому-нибудь поможет: -)

Спасибо!

5 голосов
/ 10 июля 2014

Не могу найти ничего встроенного в библиотеку проверки, но этот хак работает:

$('#email').removeClass('error').next('label.error').remove();
4 голосов
/ 14 мая 2011

этот сбрасывает всю форму

var validator = $("#myform").validate();
validator.resetForm();

этот будет сбрасывать только элемент name

$("#skip").click(function() {
   var rules = $("#name").removeAttrs("min max"); // remove min and max
   $("#form").submit(); // submit, as there are no attributes, it will not have an error
   $("#name").attr(rules); // add it again so you can validate it
});
2 голосов
/ 13 июля 2016

Эта функция возможна через опцию focusCleanup: true и запуск события focusin на желаемом элементе.Но это не всегда желательно, чтобы вызвать это событие.Очевидно, что вы можете использовать внутренний код плагина, который работает на focusin, и вызывать его внешне так:

/*get your element and containing validated form*/
var $that = $('#desired_elemenet');
var $form = $that.closest('form');

/*get validator object for the form*/
var validator = $form.validate();

/*use internal code of a plugin to clear the field*/
if (validator.settings.unhighlight) {
    validator.settings.unhighlight.call( validator, $that[0], validator.settings.errorClass, validator.settings.validClass );
}
validator.hideThese( validator.errorsFor( $that[0] ) );
0 голосов
/ 29 августа 2016
var form = $('#form'); 
var validator = form.validate();

// Validate single field from that form.
var myfield = $('#myfield');
myfield.removeData('previousValue').removeAttr('aria-invalid');
validator.resetElements(myfield);                         
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...