Подтвердить что ты не робот

Как удалить обязательные правила из всех входных данных формы в jQuery Validate?

Как указано выше, как я могу удалить все необходимые правила из формы с помощью jQuery Validate?

Это то, что я имею в настоящее время:

var settings = $('form').validate().settings;

//alert(settings.rules.toSource());
for (var i in settings.rules){
    alert(i);
    delete settings.rules.i; 
    // ^ not sure about how to do this properly,
    // and how to just delete the 'required' rule and keep the rest intact
}

Функция, родная для jQuery Validate, возвращает ошибку undefined:

$("input, select, textarea").rules('remove','required');
4b9b3361

Ответ 1

Как это иногда бывает, я, кажется, наткнулся на ответ сразу после прихода сюда.

for (var i in settings.rules){
   delete settings.rules[i].required;
}

Works.

Ответ 2

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

$('input, select, textarea').each(function() {
    $(this).rules('remove', 'required');
});

Обратите внимание, что исключение второго параметра (обязательно) приведет к удалению всех правил, а не только "необходимых".