2015-03-16 5 views
0

У меня есть поле флажка, которое определяет, требуется ли поле идентификатора исходящего клиента для атрибута проверки данных: true или требуется проверка данных: false, который управляет моей проверкой форм.Плагин проверки JQuery - Поля, все еще вызывающие ошибки

<input type="text" name="stID" id="stID" data-validate="required:true" /> 

Использование JQuery я могу изменить требование в режиме реального времени, а также показать/скрыть и добавить/удалить классы ошибок, связанных с этим полем.

$("#input[name='stID']").attr("data-validate","required:false"); 
var form=$("#standard"); 
form.validate().resetForm(); 

Проблема заключается, когда кто-то пытается отправить форму, а затем изменяет первоначальный вариант флажок (если это правда, ID не требуется в противном случае, если ложно, требуется ID).

Если это происходит, несмотря на то, что требуется проверка данных: установленное значение false и классы ошибок скрыты, проверка по-прежнему происходит и помещает поле stID.

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

+1

'$ (" # input [name = 'stID'] ")', что '#' делает там, это не 'id' его просто тег, используйте' $ (" input [name = 'stID'] ")' вместо –

+0

Это была простая ошибка опечатки при подаче примера. Ваш ответ не дает реального решения поставленного вопроса. –

ответ

0

Обнаружено решение, по-прежнему необходимо очистить атрибут данных, связанный с этими полями, создавая ошибки после изменения его требования. Это было сделано

$("#stID").removeData(); 
Смежные вопросы