参看:http://docs.jquery.com/Plugins/Validation并整理
jquery.validate.js是jquery旗下的一个验证框架,借助jquery的优势,我们可以迅速验证一些常见的输入,并且可以自己扩充自己的验证方法,并且对国际化也有很好的支持
使用这个函数很简单,看以下的代码
总结,我们只要在加入如下的JAVASCRIPT代码,就可以把指定的FORM加上验证
$(document).ready(function(){
$("#commentForm").validate();
});
不过我们还要在需要验证的INPUT里面class加入required说明是必填项,其他的就是验证相关数据比如email就是验证email的数据结构
以下列出validate自带的默认验证
required: "必选字段",
remote: "请修正该字段",
email: "请输入正确格式的电子邮件",
url: "请输入合法的网址",
date: "请输入合法的日期",
dateISO: "请输入合法的日期 (ISO).",
number: "请输入合法的数字",
digits: "只能输入整数",
creditcard: "请输入合法的信用卡号",
equalTo: "请再次输入相同的值",
accept: "请输入拥有合法后缀名的字符串",
maxlength: jQuery.format("请输入一个长度最多是 {0} 的字符串"),
minlength: jQuery.format("请输入一个长度最少是 {0} 的字符串"),
rangelength: jQuery.format("请输入一个长度介于 {0} 和 {1} 之间的字符串"),
range: jQuery.format("请输入一个介于 {0} 和 {1} 之间的值"),
max: jQuery.format("请输入一个最大为 {0} 的值"),
min: jQuery.format("请输入一个最小为 {0} 的值")
$ (".selector").validate ({ debug: true })
把调试设置为默认
$ .validator.setDefaults ({ debug: true })
submitHandler:用其他方式替代默认的SUBMIT,比如用AJAX的方式提交
$ (".selector").validate ({ submitHandler: function(form) { $ (form).ajaxSubmit(); } })
ignore:忽略某些元素不验证
$ ("#myform").validate ({ ignore: ".ignore" })
rules: 默认下根据form的classes, attributes, metadata判断,但也可以在validate函数里面声明
Key/value 可自定义规则. Key是对象的名字 value是对象的规则,可以组合使用 class/attribute/metadata rules.
以下代码特别验证selector类中name='name'是必填项并且 email是既是必填又要符合email的格式
$ (".selector").validate ({ rules: { // simple rule, converted to {required:true} name: "required", // compound rule email: { required: true, email: true } } })
messages:更改默认的提示信息
$ (".selector").validate ({ rules: { name: "required", email: { required: true, email: true } }, messages: { name: "Please specify your name", email: { required: "We need your email address to contact you", email: "Your email address must be in the format of [email protected]" } } })
groups:定义一个组,把几个地方的出错信息同意放在一个地方,用errorPlacement控制把出错信息放在哪里
$ ("#myform").validate ({ groups: { username: "fname lname" }, errorPlacement: function(error, element) { if (element.attr("name") == "fname" || element.attr("name") == "lname" ) error.insertAfter("#lastname"); else error.insertAfter(element); }, debug:true })