Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   И снова о валидации (remote в jQuery.validation v1.7) (https://javascript.ru/forum/jquery/15515-i-snova-o-validacii-remote-v-jquery-validation-v1-7-a.html)

Sufir 02.03.2011 13:50

И снова о валидации (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 - то эффект такой.


Часовой пояс GMT +3, время: 21:10.