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

Как удалить проверку jQuery из формы?

Я использую плагин проверки jQuery для проверки формы, и я хотел бы удалить проверку и отправить форму, если нажата некоторая ссылка.

Я представляю форму с javascript как jQuery('form#listing').submit(), поэтому я должен удалить правила/функцию проверки с помощью javascript.

Проблема в том, что я не могу понять, как это сделать. Я пробовал такие вещи, как jQuery('form#listing').validate({}); и jQuery('form#listing').validate = null, но не повезло.

4b9b3361

Ответ 1

Запустите метод отправки DOM, чтобы пропустить проверку:

$("#listing")[0].submit();

Ответ 2

Вы можете удалить события узлов с помощью unbind:

jQuery('form#listing').unbind('submit'); // remove all submit handlers of the form

Что вы, вероятно, ищете, так это то, что плагин проверки может также отменить назначение из события отправки:

jQuery('form#listing').validate({
   onsubmit : false
});

Для обоих из них вы можете следить за вызовом .submit(), чтобы отправить форму:

jQuery('form#listing').unbind('submit').submit();

Ответ 3

var form = $('#my_form_id').get(0);
$.removeData(form,'validator');

Действительно работает.

Ответ 4

Вы можете добавить класс css отмены к элементу (кнопка, ввод), чтобы он пропускал проверку

Ответ 5

Вы также можете использовать общедоступные функции "правила" следующим образом:

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

Что я использую;)

Ответ 6

Я не нашел ничего полезного, если вы хотите включить/выключить проверку форм (например, различные проверки для типов платежей...)

Что я должен был сделать (это нехорошее исправление, но оно действительно работает)

Настройте свою проверку:

jQuery('#form').validate();

Отключение формы:

jQuery('#form').validate().currentForm = '';

Включение формы снова:

jQuery('#form').validate().currentForm = jQuery('#form')[0];

Ответ 7

Теперь это работает для меня:

var form = $('#my_form_id').get(0);
$(form).removeData('validate');

Ответ 9

Недавно я обновил до 1.5.5 валидатора Jörn script, и функция removeValidator устарела.


...
jQuery.extend(
          jQuery.fn, 
          {
          removeValidator: function(){
              this.unbind();
              jQuery.removeData(this[0], 'validator'); 
          }
...

Ответ 10

Для всех тегов ввода формы:

$('#myform').validate().settings.ignore = '.valid';
$('input').addClass('valid');

Это работает для меня.