jquery.validate:addMethod,ajax没有返回true

时间:2012-11-09 12:13:01

标签: jquery validation

这是我的方法:

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


     $.ajax({
         type: "GET", 
         url: verify_old_password_url,
         data: {oldPassword: value},   
         dataType: "json",
         success: function (msg) { 
           return eval(msg);
         }
       });



}, "Old password is incorrect."); 

在这里,我正在调用我的控制器,它只返回一个“true”字符串。为什么jquery.validate.js将其解释为'false'?

1 个答案:

答案 0 :(得分:1)

我不相信你可以使用调用ajax的addMethod添加验证方法

您正在寻找的是规则中的远程选项,它将对输入中为值指定的URL进行ajax调用

   $(form).validate({
       rules:{ your_field :{
               required:true,
               remote: check_passwordurl,

哦,你的检查密码url返回一个布尔值true或false,否则你需要一些额外的编码,因为这个SO显示 How to use jQuery to remotely validate a field that depends on another field in the form?