validation-jQuery的validation表单验证插件
Validation-jQuery 表单验证插件使用方法 作用jquery.validate 是jquery 旗 下的一个验证框架,借助jquery 的优势,我们可以迅速验证一些常见的输入, 并且可以
Validation-jQuery 表单验证插件使用方法 作用
jquery.validate 是jquery 旗 下的一个验证框架,借助jquery 的优势,我们可以迅速验证一些常见的输入, 并且可以自己扩充自己的验证方法,并且对国际化也有很好的支持。
使用前的布置
说明:需要JQuery 版本:1.2.6
步骤:
要导入相应的jQuery.js 与jquery.validate.js 文件
在相应的字段上指定验证规则
名称 *
其中class="required"代表本字段必须要输入数据
指定要对表单进行验证
$(function(){
$("#testForm").validate();
});
效果如下图:
,

基础知识
指定验证规则的方式
把验证规则写到字段元素的class 属性中
例:
名称 *
密 *
再次输入
class="{equalTo: '[name=password]'} required">
生日
E-mail *
PAR(zip)
说明:
如果使用class="{key:value,…}"的方式,必须引入:jquery.metadata.js
,表单字段的name 不能重复,否则所配置的验证不起作用。 调用validate()方法时传递字段的验证规则 $(function() {
$("#testForm").validate({
rules: {
loginName:{
required: true,
minlength: 2
} ,
password: {
required: true
},
password2: {
equalTo: "input[name=password]"
}
}
});
});
内置的验证规则
,
说明:
remote 是远程验证:比如注册验证用户名是否已被注册,返回值只能是true (验证成功)或false (验证失败)。在访问指定的url 时,会自动把当前字段的值做为参数(以字段name 为key )传递过去。
某些属性值中的引号不能省略,否则出错。如accept 、equalTo 等。
remote 使用时遇到的问题:添加用户时需要验证用户名是否存在,当添加上一个用户后,在不离开该页面的情况下,再次添加该用户名的用户,validate 不能提示该用户已存在,因为缓存的原因,jquery 仍认为该用户名可用。解决方法是在页面中添加:
$().ready(function(){
$.ajaxSetup ({
cache: false //关闭AJAX 相应的缓存
}); // 关闭缓存功能
});
添加
修改错误信息提示位置:
修改Jquery validate 的错误提示位置,把错误提示在input 内,当获得鼠标焦点的时候清楚提示信息。
具体使用方法:
var validator = $("#myContainerForm").validate({
focusCleanup:true,//clear the error message when the error element get focus
,again.
onkeyup:false,
errorPlacement: function(error, element) {
showErrorMesssgeDiv(error,element);
},
rules:{
},
messages: {
}
}); name:{ required:populateErrorMessage($("#errorRequiredMessage").val(), name:{ } required: true $("#containerNameTitle").val()) }
自定义验证规则
除了内置的验证规则,validation 还允许自定义验证规则。这是通过validation 的addMethod()方法实现的,语法 为:
jQuery.validator.addMethod("name",function,message)
其中:
name 为验证规则的名称
function 定义验证的规则。参数有? 。返回值为? 。
,message 是验证失败时的提示信息。
指定错误提示内容
更改默认的提示内容
jQuery.extend(jQuery.validator.messages, {
required: "必填字段",
remote: "请指定一个不重复的值",
email: "请输入正确格式的电子邮件",
url: "请输入合法的网址",
date: "请输入合法的日期",
dateISO: "请输入合法的日期 (ISO).",
number: "请输入合法的数字",
digits: "只能输入整数",
creditcard: "请输入合法的信用卡号",
equalTo: "请再次输入相同的值",
accept: "请输入拥有合法后缀名的字符串",
maxlength: jQuery.validator.format("允许的最大长度为 {0} 个字符"), minlength: jQuery.validator.format("允许的最小长度为 {0} 个字符"), rangelength: jQuery.validator.format("允许的长度为{0}和{1}之间"), range: jQuery.validator.format("请输入介于 {0} 和 {1} 之间的值"), max: jQuery.validator.format("请输入一个最大为 {0} 的值"), min: jQuery.validator.format("请输入一个最小为 {0} 的值") });
,个别表单改变提示内容(只对当前表单有效)
方法一:
class="{required: true, accept: 'zip', messages: {required: '请选择文件', accept:'请选择正确的文件'}}">
方法二:
$(function() {
$("#testForm").validate({
messages:{
loginName: {
required: "必选字段2"
},
email: {
required: '必选字段22',
email: "请输入正确格式的电子邮件2"
}
}
});
});
改变错误消息显示样式
指定label.error 的样式就可以了,如下:
,label.error{
margin-left: 10px;
color: red;
}
说明:label.error 指class 为error 的label 元素,如:
扩展使用
怎么让错误提示信息显示到指定的位置
Ad:

购买域名空间请选择美橙互联顶级代理——七天美橙(http://mc.qitianit.com) 美橙互联产品5折。域名55元。
特价优惠产品——美橙互联免备案香港空间仅需100元
速度飞快,测速网址: