您的位置:首页 > Web前端 > JQuery

jquery validate ajax 验证重复的2种方法

2015-06-12 01:43 627 查看
jquery validate 经过这种多年的改良,已经很完善了。它能满足80%的验证需要,如果validate自带的功能,不能满足我们需求,它提供了addMethod来扩展功能。下面就举个小例子来说明一下addMethod的用法。先看一下:demo

简单说一下js代码,详细一点的看上面例子源码:

查看复制打印?

$(document).ready(function(){

jQuery.validator.addMethod("phonecheck", function(value, element) {   //添加一个phonecheck方法,来自定义check规则
string = value.match(/0(\d{2,2})-(\d{7,7})/ig);
if(string != null){
return true;
}else{
return false;
}
}, "telphone number like 021-1234567");

jQuery.validator.addMethod("phonesame", function(value, element) {    //用jquery ajax的方法验证电话是不是已存在
var flag = 1;
$.ajax({
type:"POST",
url:'tel.php',
async:false,                                             //同步方法,如果用异步的话,flag永远为1
data:{'tel':value},
success: function(msg){
if(msg == 'yes'){
flag = 0;
}
}
});

if(flag == 0){
return false;
}else{
return true;
}

}, "sorry number have been exist");

$("#myform").validate({
errorPlacement: function(error, element) {
error.insertAfter(element);
},
rules:{
username:{
required:true,
remote:{                         //自带远程验证存在的方法
url:"tel.php",
type:"post",
dataType:"html",
data:{
username:function(){return $("#username").val();}
},
dataFilter: function(data, type) {
if (data == "yes")
return true;
else
return false;
}
}
},
telphone:{
required:true,
rangelength:[11,11],
phonecheck:true,
phonesame:true
}
},
messages:{
telphone:{
required:"Please enter your phone",
rangelength:"phone must be 11 numbers"
},
username:{
required:"Please enter your username",
remote:"the username have been exist"
}
},
debug:true
})
});
</script>


在这里推荐大家使用jquery validate,用熟了,很方便。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: