题记:写这篇博客要主是加深自己对验证错误信息的认识和总结实现算法时的一些验经和训教,如果有错误请指出,万分感谢。
单页面多表单的jquery 验证怎么办?想要添加自定义的验证函数怎么办?
不知道大家有没有做过 在一个页面上多个表单进行不同数据的添加和更新操纵。通常 我们都是通过Ajax的方法来提交这个表单的数据至服务器
第一:如果单个页面上有多个表单的话 又须要给这些表单注册一些常用参数怎么办?
$("#Form1,#Form2").validate({
errorElement: "div", //错误信息的包装标签
wrapper: "li", //错误信息包装标签的父标签
onfocusout: false, //制止失去核心时验证
onkeyup: false, //制止按键时验证
errorClass: "ErrorMsg", //错误信息的class
onclick: false, //制止checkbox,radiobutton点击时验证
errorLabelContainer: $('#ErrorMsgContainer'), //包装全部error的容器
ignore: ".ignore"
});
以上方法 貌似只能注册到第一个表单 这个时候 我们须要取巧
我一般是用一个each
$("form").each(function () {
$(this).validate({
errorElement: "div", //错误信息的包装标签
wrapper: "li", //错误信息包装标签的父标签
onfocusout: false, //制止失去核心时验证
onkeyup: false, //制止按键时验证
errorClass: "ErrorMsg", //错误信息的class
onclick: false, //制止checkbox,radiobutton点击时验证
errorLabelContainer: $('#ErrorMsgContainer'), //包装全部error的容器
ignore: ".ignore"
});
});
这样给每个表单注册。不然,如果采用第一种方法 绝对只有第一个表单才会有效果。第二个表单是失效的
第二:自定义函数
jquery validation插件中供给了一个扩展方法。不管是remote还是针对一般的input的验证 我们都可以使用这个扩展方法
![验证和错误信息](https://i-blog.csdnimg.cn/blog_migrate/cdec0645add3fc3c328197dda5c76203.gif)
![验证和错误信息](https://i-blog.csdnimg.cn/blog_migrate/81178cc93a2a3bb5048d90d76e7ec935.gif)
1 jQuery.validator.addMethod("rVerificationCode", function (value, element, param) { 2 switch (element.nodeName.toLowerCase()) { 3 case 'select': 4 var options = $("option:selected", element); 5 return options.length > 0 && (element.type == "select-multiple" || ($.browser.msie && !(options[0].attributes['value'].specified) ? options[0].text : options[0].value).length > 0); 6 case 'input': 7 if (this.checkable(element)) 8 return this.getLength(value, element) > 0; 9 default: 10 return $.trim(value).length > 0; 11 } 12 }, $.format("Please enter the Verification Code."));
你可以把这些扩展函数独自放在一个js文件中引入
文章结束给大家分享下程序员的一些笑话语录: 祝大家在以后的日子里. 男生象Oracle般健壮; 女生象win7般漂亮; 桃花运象IE中毒般频繁; 钱包如Gmail容量般壮大, 升职速度赶上微软打补丁 , 追女朋友像木马一样猖獗, 生活像重装电脑后一样幸福, 写程序敲代码和聊天一样有**。