И снова о валидации (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, время: 11:31. |