Я использую скрипт validationEngine для проверки формы. Я начинаю это с:
$("#formid").validationEngine();
Я действительно не отправляю форму через кнопку отправки. Я использую элемент привязки с событием onclick
, которое вызывает функцию saveElement()
. В этой функции я вызываю:
$("#formid").validationEngine('validate');
, который работает просто отлично.
Сразу после этого я сбрасываю поля (например, содержимое полей ввода) на ""
), через которые обязательные поля начинают показывать ошибки.
Чтобы эти ошибки не возникали, я бы хотел удалить validationEngine из элемента формы. Но я просто не могу это удалить. Я пробовал разные варианты, включая приведенные ниже, но ни один из них не работал.
$('#formid').validationEngine('hideAll'); // To hide the error messages
$('#formid').validationEngine('detach'); // To remove the validationEngine
У кого-нибудь есть предложения, как я могу удалить validationEngine?
Обход
Это действительно похоже на то, что нет способа отмены привязки. Я добавил проблему в проект github. Может быть, они реализуют метод unbind:
https://github.com/posabsolute/jQuery-Validation-Engine/issues/287
В качестве обходного пути я предложил следующие решения:
Вы можете либо:
- Используйте jQuery.clone (), чтобы скопировать форму без событий, удалить исходную форму и снова добавить в форму validationEngine
- Удалите проверочные классы для элементов формы, сохраните их в массиве и вставьте снова после сброса формы
Все еще открыто
Может быть, есть лучшее решение или обходной путь. Если вы знаете, пожалуйста, дайте мне знать.