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 相关文章推荐
nicejforms——美化表单不用愁
Feb 20 Javascript
jquery ajax 同步异步的执行示例代码
Jun 23 Javascript
一步一步制作jquery插件Tabs实现过程
Jul 06 Javascript
深入理解javascript严格模式(Strict Mode)
Nov 28 Javascript
JS选项卡动态替换banner图片路径的方法
May 11 Javascript
JS打字效果的动态菜单代码分享
Aug 21 Javascript
跟我学习javascript的全局变量
Nov 16 Javascript
jQuery实现点击查看大图并以弹框的形式居中
Aug 08 Javascript
ng-options和ng-checked在表单中的高级运用(推荐)
Jan 21 Javascript
node.js学习之断言assert的使用示例
Sep 28 Javascript
vue实现把接口单独存放在一个文件方式
Aug 13 Javascript
vue单元格多列合并的实现
Nov 26 Vue.js
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 EOT定界符的使用详解
2008/09/30 PHP
Zend Framework教程之Zend_Controller_Plugin插件用法详解
2016/03/07 PHP
TP5(thinkPHP框架)实现后台清除缓存功能示例
2019/05/29 PHP
extjs 学习笔记(一) 一些基础知识
2009/10/13 Javascript
JavaScript中两种链式调用实现代码
2011/01/12 Javascript
JavaScript 模拟类机制及私有变量的方法及思路
2013/07/10 Javascript
Javascript动态创建表格及删除行列的方法
2015/05/15 Javascript
JavaScript SHA512&amp;SHA256加密算法详解
2015/08/11 Javascript
Angularjs---项目搭建图文教程
2016/07/08 Javascript
AngularJS 应用身份认证的技巧总结
2016/11/07 Javascript
nodejs接入阿里大鱼短信验证码的方法
2017/07/10 NodeJs
不到200行 JavaScript 代码实现富文本编辑器的方法
2018/01/03 Javascript
微信小程序如何使用globalData的方法
2019/06/06 Javascript
layui table 列宽百分比显示的实现方法
2019/09/28 Javascript
vue+element获取el-table某行的下标,根据下标操作数组对象方式
2020/08/07 Javascript
[04:23]DOTA2上海特锦赛小组赛第一日 TOP10精彩集锦
2016/02/27 DOTA
[01:10:58]KG vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python实现一行输入多个值和一行输出多个值的例子
2019/07/16 Python
Python模块汇总(常用第三方库)
2019/10/07 Python
django框架F&amp;Q 聚合与分组操作示例
2019/12/12 Python
拿来就用!Python批量合并PDF的示例代码
2020/08/10 Python
Python3.9.1中使用split()的处理方法(推荐)
2021/02/07 Python
利用HTML5 Canvas制作键盘及鼠标动画的实例分享
2016/03/15 HTML / CSS
西班牙太阳镜品牌:Hawkers
2018/03/11 全球购物
纽约手袋品牌:KARA
2018/03/18 全球购物
洛杉矶健身中心女性专用运动服饰品牌:Marika
2018/05/09 全球购物
RetroStage德国:复古服装
2019/02/03 全球购物
法国春天百货官网:Printemps.com
2020/06/29 全球购物
软件配置管理有什么好处
2015/04/15 面试题
应届生财务会计求职信
2013/11/05 职场文书
美容师的职业规划书
2013/12/27 职场文书
生产部厂长职位说明书
2014/03/03 职场文书
献爱心捐款倡议书
2014/05/14 职场文书
暂住证明怎么写
2015/06/19 职场文书
攻击最高的10只幽灵系神奇宝贝,坚盾剑怪排第一,第五最为可怕
2022/03/18 日漫
vue router 动态路由清除方式
2022/05/25 Vue.js