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

jQuery Validate 插件扩展
本文介绍了如何使用jQuery Validate插件进行表单验证,并通过addMethod方法自定义验证规则,如电话号码格式验证及远程验证电话号码是否已被注册。

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,用熟了,很方便。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值