jQuery validation关于如何与服务器端交互进行校验的纪录很少. 但是这几乎是所有的网站都要做的事.
最常见的例子就是注册用户的邮件地址的唯一性校验.
下面事一段示例代码:
$(function() { $("#signup_form").validate( { // debug: true, rules : { email : { email : true, required : true, remote : "/is_email_unique" }, password : { required : true } }, messages : { email : { email : "Please input a valid email address.", required : "Please input an email address.", remote : "Sorry, this email is already in use." }, password : { required : "Please input a login password." } }, onclick : false, onkeyup : false }); }
我禁用了onclick和onkeyup事件的监听,因为我只需要再提交表单的时候做验证.
在提交表单之前,用下面的方式执行校验
$("#signup_form").validate().form()
其中remote后面跟的url是用来向后端发送ajax请求进行验证的, 被验证的字段(email)会被作为参数传到server端.
下面是关于remote这个option的官方文档地址
http://docs.jquery.com/Plugins/Validation/Methods/remote#options
如果验证通过,ajax请求的返回值必须是true而不能返回一个"true"字符串.
下面这个url提供了一段php代码来实现后端验证
http://snipplr.com/view/59761/