2010-11-19 129 views
0

为什么下面的验证函数总是失败。它甚至会失败,如果我都返回正确的情况。jquery验证总是失败

$.validator.addMethod("validate_old_password", function(value, element){ 
    $.ajax({ 
     url: '/users/ajaxPage_password_validation/', 
     type: 'POST', 
     dataType: 'text', 
     debug: true, 
     data: { 
      password: $("#id_old_password").val() 
     }, 
     success: function(response){ 
      if (response == "True") { 
       console.log('aa') 
       return true; 
      }// correct PW 
      return false; // bad PW 
     } 
    }) 
}, "password not valid"); 

回答

0

我相信它是因为推迟执行。

当调用“validate_old_password”方法时,它只是启动ajax调用并继续到方法结束,它不会等待响应。

您可能要考虑在验证插件中使用remote validation options