Проверка JQuery - ожидание завершения удаленной проверки - PullRequest
2 голосов
/ 24 июня 2011

Когда я звоню $("form").valid(), у меня подключена проверка удаленной проверки (которая все работает хорошо), однако, если все остальные поля верны, форма проходит проверку, потому что удаленная проверка не вернула ответ "достаточно быстро".

Есть ли способ заставить jquery-проверку ждать завершения любых удаленных проверок или подключиться к событию complete для вызова удаленной проверки?

В настоящее время я использую встроенный удаленный валидаторв среду проверки JQuery http://docs.jquery.com/Plugins/Validation/Methods/remote

Ответы [ 4 ]

3 голосов
/ 01 июля 2011

Один из способов - ввести переменную, которая будет установлена ​​в значение true при возврате удаленного вызова.

var remote_complete = false;

$.ajax({
  url: "test.html",
  success: function(){
    remote_complete = true;
  }
});

while (remote_complete == false)
  {
  // loop until  remote_complete = true;
  }

Другой способ - проверить форму после завершения удаленной проверки

 $.ajax({
      url: "test.html",
      success: function(){
        validate_form();
      }
    });
2 голосов
/ 24 июня 2011

вы можете добавить пользовательское правило , и в этом пользовательском правиле вы можете сделать вызов ajax.

Пожалуйста, проверьте сообщение SO здесь для создания пользовательских правил.

В этой функции вызовите ajax.

0 голосов
/ 07 мая 2015

http://gloryplus.com/index.php?route=product/product&path=82&product_id=173

rules: {
      name: {
        minlength: 2,
        required: true
      },
      email: {
        required: true,
        email: true
      },
      subject: {
        minlength: 2,
        required: true
      },
      message: {
        minlength: 2,
        required: true
      }
    },
    highlight: function(label) {
        $(label).closest('.control-group').addClass('error');
    },
    success: function(label) {
        label
            .text('OK!').addClass('valid')
            .closest('.control-group').addClass('success');
    }
0 голосов
/ 08 июля 2011

Ну, если вы правильно настроили все свои правила, тогда это не должно быть проблемой. См. demo , где электронная почта проверяется удаленно, и проверка не проходит, пока проверка не вернется.

Можете ли вы опубликовать jsfiddle, который освещает вашу проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...