jqueryValidation Engine встроенная форма проверки ajax для остановки отправки

Я пытаюсь проверить составную форму с помощью подключаемого модуля jquery validateEngine. Я могу правильно проверить форму для всех полей, однако я хочу сделать еще один шаг и использовать встроенную проверку ajax. Я хочу проверить, уникально ли имя по сравнению с базой данных. Эта функция работает правильно, и я получаю ожидаемые результаты, однако я не могу отправить форму, и, запустив проверку в консоли firebug в форме, она проверяет ее как ложную, даже если все поля верны.

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

Проверка инициализируется:

if ($.validationEngine) {
        form.validationEngine();
    }

и, как я уже сказал, нормальная проверка работает.

Я настроил класс в своей форме как:

class="input validate[required, ajax[ajaxNameCallPhp]]"

Сценарий в механизме проверки, относящийся к этому методу, был изменен на это:

"ajaxNameCallPhp": {
// remote json service location
"url": "http://localhost/greenFees/includes/lib/greenFee/checkName.php",
// error
"alertText": "* This name is already taken",
    "alertTextOk": "* This name is available",
"alertTextLoad": "* Validating, please wait"
                },

Любая помощь приветствуется в этом вопросе


person Ray    schedule 25.02.2013    source источник


Ответы (1)


Хорошо - удалось заставить это работать после нескольких часов регистрации скрипта в firebug...

В любом случае. В некотором роде виновником является другой скрипт — мастер форм, который превращает форму в мастер, он добавляет кнопку «Далее», которая при нажатии запускает проверку. По какой-то причине проверка при вызове оттуда ведет себя иначе, чем отправка формы. При проверке ajax отображается флаг, если имя в порядке, если оно уже используется, или уведомление при проверке. Решение 1. Удалите сценарий мастера, но после этого форма не будет работать правильно. Решение 2. Удалите уведомление alertTextLoad. Похоже, проверка рассматривает наличие этого флага как ошибку, а не как информацию. Его удаление означало, что я могу оставить мастер Ta

person Ray    schedule 25.02.2013
comment
Поскольку вся ваша форма находится внутри мастера, не подключайте механизм проверки до последней страницы, тогда форма будет проверяться только при отправке. - person MB34; 14.05.2014