JQuery Custom Valdiation, сообщение об ошибке отображается, даже когда истина - PullRequest
0 голосов
/ 06 августа 2011

Я создал пользовательское правило проверки (uniqueUserName).Проблема, с которой я сталкиваюсь, заключается в том, что сообщение об ошибке всегда отображается для пользовательского правила, даже когда возвращается значение true из пользовательского метода проверки.

Форма, которую я пытаюсь проверить, загружается динамически и добавляется в div.

Здесь я добавляю метод и определяю правила проверки.AddValMethod вызывается после загрузки страницы, но до присоединения:

 function addValMeth(){
               $.validator.addMethod("uniqueUserName", function(value, element) {

                    $.get("databasescripts/validate_username.php", {username: value}, function(data2){

                           alert("Validate-> " + data2);
                           if(data2 == "1"){
                               alert("Validate 2");
                               return true;                   

                           }else if(data2 == "0"){
                               alert("Validate 3");
                               return false;

                           }
                        });
               });
  };

 function attacheValidation($form){ 
          $($form).validate({ 
                  rules: { 
                      firstname: "required",// simple rule, converted to {required:true} 
                      surname: "required",
                      address: "required",
                      zipcode: "required",
                      city: "required",
                      email: {
                          required: true, 
                          email: true 
                      }, 
                      username: {
                           uniqueUserName: true,
                           required: true

                       }
                   }, 
                       messages: { 
                              firstname: "Förnamn saknas" ,
                              surname: "Efternamn saknas",
                              address: "Adress saknas",
                              zipcode: "Postkod saknas",
                              city: "Ort saknas",
                              companyname: "Företagsnamn saknas",
                              email: "Korrekt emailadress saknas",
                              username: {
                                  uniqueUserName: "Användarnamnet är upptaget",
                                  required: "Användarnamn saknas"

                             }
                            } 
                          }); 
                    };

Предупреждения подтверждают, что логика в пользовательском валидаторе работает должным образом.Все остальные правила проверки работают правильно.

Я не знаю, может ли это быть связано, но каждый раз, когда возвращается истинный результат, пользовательский метод проверки запрашивается два раза.Когда оно ложно, запрос к методу делается только один раз.

Это поле имени пользователя, к которому я хочу применить пользовательский метод проверки.

1 Ответ

0 голосов
/ 19 января 2012

Нужно вернуть «true» и вернуть «false». Ожидается, что строка не является логическим значением.

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