1.什么是validate 自定义函数
addMethod(name,method,message)方法
参数 name 是添加的方法的名字。
参数 method 是一个函数,接收三个参数 (value,element,param) 。
value 是元素的值,element 是元素本身,param 是参数。
我们可以用 addMethod 来添加除内置的 Validation 方法之外的验证方法。比如有一个字段,只能输一个字母,范围是 a-f,写法如下:
$.validator.addMethod("af",function(value,element,params){
if(value.length>1){
return false;
}
if(value>=params[0] && value<=params[1]){
return true;
}else{
return false;
}
},"必须是一个字母,且a-f");如果有个表单字段的 name="username",则在 rules 中写:
username:{
af:["a","f"]
}addMethod 的第一个参数,是添加的验证方法的名字,这时是 af。
addMethod 的第三个参数,是自定义的错误提示,这里的提示为:"必须是一个字母,且a-f"。
addMethod 的第二个参数,是一个函数,这个比较重要,决定了用这个验证方法时的写法。
如果只有一个参数,直接写,比如 af:"a",那么 a 就是这个唯一的参数,如果多个参数,则写在 [] 里,用逗号分开。
结果为false才返回提示信息2.正则表达式验证
a.正向验证
$.validator.addMethod("chrnum", function(value, element) {
var chrnum = /^([a-zA-Z0-9]+)$/;
return this.optional(element) || (chrnum.test(value));
}, "只能输入数字和字母(字符A-Z, a-z, 0-9)");
$("#form1").validate({
rules: {
'name': {
required: true
},
'custom_no' : "chrnum",
}
});b.反向验证
$.validator.addMethod("chrnum", function(value, element) {
if(!value.length){
return false;
}
var chrnum = /^([^@#\$%\^&\*]+)$/;
return chrnum.test(value);
}, "商品名称不能为空而且不能包含非法字符");
$("#form1").validate({
rules: {
'name' : "chrnum",
}
});版权声明:本文为z15818264727原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。