2011-04-04 54 views
0

我正在使用JörnZaefferer的JQuery验证,但我需要进行一些数据库调用来验证某些字段(例如检查用户名是否唯一)。这是可能使用这个插件,如果是这样,有人有一些语法的例子吗?这里是我当前的代码:JQuery验证和数据库调用

$("form").validate({ 
      rules: { 
       txtUserName: { 
        required: true, 
        minlength: 4 
       }, 
       txtPassword: { 
        required: true 
       }, 
       txtConfirmPassword: { 
        required: true, 
        equalTo: "#txtPassword" 
       }, 
       txtEmailAddress: { 
       required: true, 
       email: true 
       }, 
       txtTelephoneNumber: { 
        required: true, 
        number: true 
       } 
      }, 
      messages: { 
       txtUserName: { 
        required: "Please enter a User Name", 
        minlength: "User Name must be at least 4 characters" 
       }, 
       txtPassword: { 
        required: "Please enter a Password" 
       }, 
       txtConfirmPassword: { 
        required: "Please confirm Password", 
        equalTo: "Confirm Password must match Password" 
       }, 
       txtEmailAddress: { 
        required: "Please enter an Email Address", 
        email: "Please enter a valid Email Address" 
       }, 
       txtTelephoneNumber: { 
        required: "Please enter a Telephone Number", 
        number: "Telephone Number must be numeric" 
       } 
      } 
     }); 
    }); 

编辑:

我已经走到这一步,但我这样做的时候,我失去了我的窗体上的值,大概是因为格式已经张贴在这里?

$("form").validate({ 
    //errorLabelContainer: $("#divErrors"), 

     rules: { 
      txtUserName: { 
       required: true, 
       minlength: 4 
      }, 
      txtPassword: { 
       required: true 
      }, 
      txtConfirmPassword: { 
       required: true, 
       equalTo: "#txtPassword" 
      }, 
      txtEmailAddress: { 
       required: true, 
       email: true 
      }, 
      txtTelephoneNumber: { 
       required: true, 
       number: true//, 
       //postalCode:true 
      } 
     }, 
     messages: { 
      txtUserName: { 
       required: "Please enter a User Name", 
       minlength: "User Name must be at least 4 characters" 
      }, 
      txtPassword: { 
       required: "Please enter a Password" 
      }, 
      txtConfirmPassword: { 
       required: "Please confirm Password", 
       equalTo: "Confirm Password must match Password" 
      }, 
      txtEmailAddress: { 
       required: "Please enter an Email Address", 
       email: "Please enter a valid Email Address" 
      }, 
      txtTelephoneNumber: { 
       required: "Please enter a Telephone Number", 
       number: "Telephone Number must be numeric" 
      } 
     }, 
     onValid: addUser() 
    }); 
}); 

功能ADDUSER(){

alert($('input[name="txtUserName"]').val()); 

}

+0

检查尼克的回答是> http://stackoverflow.com/questions/3650909/jquery-validate/3650937#3650937 – neebz 2011-04-04 09:59:14

+0

看着这个线程后,我想这一点,但我的web服务似乎并不被称为: – user517406 2011-04-04 10:14:23

+0

能你添加你的代码?客户端和服务器端 – neebz 2011-04-04 10:15:30

回答

1

有您使用一个远程规则。您可以指定一个POST URL,然后检查数据并返回true/false。看看它的文档了解更多细节。这正是你的场景

0

JQuery验证插件对输入的每一个变化和注意力进行验证。我不认为调用Web服务和检查数据库是每一次重点领域变化的主意都不是好主意。相反,你可以通过表单提交例如ajax来完成。

0

您可以使用ajax调用从数据库检索数据,然后使用这些数据,您可以使用远程规则处理验证。