it-swarm.com.ru

Как удалить «обязательные» правила из всех входных данных формы в 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, возвращает неопределенную ошибку:

$("input, select, textarea").rules('remove','required');
16
bcmcfc

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

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

Работает.

4
bcmcfc

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

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

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

20
Christophe Deliens

Когда вам нужно удалить необходимый ввод, вам также нужно удалить attr вашего ввода, протестируйте это.

$('element').rules('remove', 'required'); $('element').removeAttr('required');

0
Junior Laucel