作者:哭着说再见0 | 来源:互联网 | 2013-07-18 14:23
在用jQueryValidate做表单校验感觉比较方便,但是有时候要用AJAX和数据库交互,由于AJAX的异步性导致Validate与onsubmit冲突,最终还是舍弃了onsubmit改用另外的方法做AJAX校验
最近写了点前端代码,验证form表单的时候用到了jquery validate。这个东西很好用,具体的使用方法就不必啰嗦了。
这个东西主要是用来验证表单数据的格式,有时候虽然格式正确了但是还要保证某些字段的唯一性,就要另外判断了,我用的方法是在form加一个onsubmit事件。
测试的时候发现,只要满足validate验证的格式,onsubmit的判断会被忽略掉。事实上,jquery validate也是在submit的时候开始判断的,并且在onsubmit事件之后,所以onsubmit返回false,只要满足validate的条件仍然会返回true,表单仍被提交。
明白这个原因之后,解决方法也就很简单针对了:
在构造validate规则的时候加上submitHandler,如:
$("#finaceAccount").validate({ rules:{name :{required :true,minlength:2}, }, messages: { name: {required: "请输入姓名!",minlength: "请填写全名!"}, }, submitHandler: function (form){ return checkInfo(form); } }); function checkInfo(f){ …… return false }
这样就OK了,也就可以把onsubmit事件删除了。