Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.03.2011, 13:50
Аватар для Sufir
Аспирант
Отправить личное сообщение для Sufir Посмотреть профиль Найти все сообщения от Sufir
 
Регистрация: 15.06.2008
Сообщений: 47

И снова о валидации (remote в jQuery.validation v1.7)
$("#changeAliasForm").validate({
       rules: {
         changeAlias: {
           required: true,
           remote: {
           url: "/validate.php",
             type: "post",
             data: {
               changeAlias: function() {
                 return $("#changeAlias").val();
               }
             }
           }
         }
       }
});

// Дальше открывается диалог с формой #changeAliasForm
$("#changeAliasForm").validate(); // или: $("#changeAliasForm").validate().element( "#changeAlias" );
alert( $("#changeAliasForm").valid() ); // эта строчка возвращает true, но validate.php вернул false
if ( $("#changeAliasForm").valid() ){
    // Здесь действия в случае успешной валидации
    $( this ).dialog( "close" ); // Перед тем как окошко диалога закрывается, сообщение о не прошедшей валидации появляется
}


По всей видимости скрипт выполняется до того как приходит ответ. Как заставить скрипт дождаться прохождения валидации?

Если предварительно ввести невалидное значение, не проходящие например по maxlength или required, после этого и remote обрабатывается нормально. Но если изначально значение поля заполнено верно по всем валидаторам кроме remote - то эффект такой.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск