jQuery validate插件实现ajax验证重复的2种方法


Posted in Javascript onJanuary 22, 2016

本文实例讲述了jQuery validate插件实现ajax验证重复的2种方法。分享给大家供大家参考,具体如下:

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

完整demo实例代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<title>jquery validate ajax check exist</title>
<head>
 <script type="text/javascript" src="jquery.min.js"></script>
 <script type="text/javascript" src="jquery.validate.min.js"></script>
 <script>
 $(document).ready(function(){
  jQuery.validator.addMethod("phonecheck", function(value, element) {
    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) {
    var flag = 1;
    $.ajax({
      type:"POST",
      url:'tel.php',
      async:false,
      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>
</head>
<body style="margin-left:500px;margin-top:100px;">
<div style="font-size:24px;">021-1234567 or tank exist</div><br>
 <form id="myform" method="post">
 <label>Your telphone</label>
 <input name="telphone" class="required" value="" /><br><br>
 <label>Your username</label>
 <input name="username" id="username" class="required" value="" />
 <br/>
 <input type="submit" value="Submit"/>
</form>
</body>
</html>

在这里推荐大家使用jquery validate,用熟了,很方便。

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
javaScript对文字按照拼音排序实现代码
Dec 27 Javascript
常用的几段javascript代码分享
Mar 25 Javascript
jQuery实现统计输入文字个数的方法
Mar 11 Javascript
JavaScript实现找质数代码分享
Mar 24 Javascript
JS基于Ajax实现的网页Loading效果代码
Oct 27 Javascript
JS结合bootstrap实现基本的增删改查功能
Jul 22 Javascript
AngularJS基础 ng-options 指令详解
Aug 02 Javascript
详解VueJS应用中管理用户权限
Feb 02 Javascript
在vue-cli搭建的项目中增加后台mock接口的方法
Apr 26 Javascript
vue中axios请求的封装实例代码
Mar 23 Javascript
JS数组中对象去重操作示例
Jun 04 Javascript
JS实现返回上一页并刷新页面的方法分析
Jul 16 Javascript
jQuery禁用键盘后退屏蔽F5刷新及禁用右键单击
Jan 22 #Javascript
如何利用JS通过身份证号获取当事人的生日、年龄、性别
Jan 22 #Javascript
jQuery解析json格式数据简单实例
Jan 22 #Javascript
基于javascript实现根据身份证号码识别性别和年龄
Jan 22 #Javascript
基于jQuery仿淘宝产品图片放大镜特效
Oct 19 #Javascript
jQuery图片旋转插件jQueryRotate.js用法实例(附demo下载)
Jan 21 #Javascript
jQuery validate插件submitHandler提交导致死循环解决方法
Jan 21 #Javascript
You might like
PHP实现今天是星期几的几种写法
2013/09/26 PHP
利用Dojo和JSON建立无限级AJAX动态加载的功能模块树
2007/03/24 Javascript
基于jquery的3d效果实现代码
2011/03/23 Javascript
jQuery垂直多级导航菜单代码分享
2015/08/18 Javascript
JS实现状态栏跑马灯文字效果代码
2015/10/24 Javascript
Angular中使用ui router实现系统权限控制及开发遇到问题
2016/09/23 Javascript
js获取元素的标签名实现方法
2016/10/08 Javascript
js实现右键菜单功能
2016/11/28 Javascript
JavaScript转换数据库DateTime字段类型方法
2017/06/27 Javascript
Node.JS更改Windows注册表Regedit的方法小结
2017/08/18 Javascript
Vue中自定义全局组件的实现方法
2017/12/08 Javascript
vue watch深度监听对象实现数据联动效果
2018/08/16 Javascript
对vue中methods互相调用的方法详解
2018/08/30 Javascript
Makefile/cmake/node-gyp中区分判断不同平台的方法
2018/12/18 Javascript
Vue动态修改网页标题的方法及遇到问题
2019/06/09 Javascript
javascript设计模式 ? 观察者模式原理与用法实例分析
2020/04/22 Javascript
js+cavans实现图片滑块验证
2020/09/29 Javascript
vue+Element-ui前端实现分页效果
2020/11/15 Javascript
[02:34]DOTA2英雄基础教程 幽鬼
2014/01/02 DOTA
Python中使用logging模块代替print(logging简明指南)
2014/07/09 Python
Pycharm配置远程调试的方法步骤
2018/12/17 Python
pyqt5实现登录界面的模板
2020/05/30 Python
Python中 CSV格式清洗与转换的实例代码
2019/08/29 Python
详解有关PyCharm安装库失败的问题的解决方法
2020/02/02 Python
pytorch 计算ConvTranspose1d输出特征大小方式
2020/06/23 Python
python中os.remove()用法及注意事项
2021/01/31 Python
Exoticca英国:以最优惠的价格提供豪华异国情调旅行
2018/10/18 全球购物
幼儿园园长自我鉴定
2013/10/22 职场文书
十佳大学生事迹材料
2014/01/29 职场文书
九年级语文教学反思
2014/02/04 职场文书
工艺工程师岗位职责
2014/03/04 职场文书
环保倡议书怎么写
2014/05/16 职场文书
国际贸易系求职信
2014/08/09 职场文书
《扇形统计图》教学反思
2016/02/17 职场文书
浅谈golang package中init方法的多处定义及运行顺序问题
2021/05/06 Golang
HTML基础详解(下)
2021/10/16 HTML / CSS