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 相关文章推荐
获取css样式表内样式的js函数currentStyle(IE),defaultView(FF)
Feb 14 Javascript
滚动图片效果 jquery实现回旋滚动效果
Jan 08 Javascript
7款吸引人眼球的jQuery/CSS3特效实例分享
Apr 25 Javascript
解决自定义$(id)的方法与jquery选择器$冲突的问题
Jun 14 Javascript
原生JavaScript+LESS实现瀑布流
Dec 12 Javascript
node.js中的fs.readdir方法使用说明
Dec 17 Javascript
Bootstrap每天必学之进度条
Nov 30 Javascript
js改变style样式和css样式的简单实例
Jun 28 Javascript
JavaScript中数据类型转换总结
Dec 25 Javascript
JS中touchstart事件与click事件冲突的解决方法
Mar 12 Javascript
基于D3.js实现时钟效果
Jul 17 Javascript
ant design中upload组件上传大文件,显示进度条进度的实例
Oct 29 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 session和cookie使用说明
2010/04/07 PHP
在PHP中PDO解决中文乱码问题的一些补充
2010/09/06 PHP
PHP页面中文乱码分析
2013/10/29 PHP
php函数实现判断是否移动端访问
2015/03/03 PHP
php函数连续调用实例分析
2015/07/30 PHP
基于JQuery的cookie插件
2010/04/07 Javascript
url地址自动加#号问题说明
2010/08/21 Javascript
ExtJS4 组件化编程,动态加载,面向对象,Direct
2011/05/12 Javascript
jQuery旋转插件—rotate支持(ie/Firefox/SafariOpera/Chrome)
2013/01/16 Javascript
原生js实现给指定元素的后面追加内容
2013/04/10 Javascript
JS定义回车事件(实现代码)
2013/07/08 Javascript
JS鼠标滑过图片时切换图片实现思路
2013/09/12 Javascript
一个支付页面DEMO附截图
2014/07/22 Javascript
jQuery焦点图轮播特效代码分享(3款)
2015/09/05 Javascript
JQuery入门基础小实例(1)
2015/09/17 Javascript
JavaScript ES6的新特性使用新方法定义Class
2016/06/28 Javascript
AngularJS学习笔记(三)数据双向绑定的简单实例
2016/11/08 Javascript
JavaScript原生数组Array常用方法
2017/04/06 Javascript
解决layui页面按钮点击无反应,也不报错的问题
2019/09/29 Javascript
vue学习笔记之过滤器的基本使用方法实例分析
2020/02/01 Javascript
[05:08]2014DOTA2国际邀请赛 Hao专访复仇的胜利很爽
2014/07/15 DOTA
[43:14]Liquid vs Optic 2018国际邀请赛淘汰赛BO3 第二场 8.21
2018/08/22 DOTA
Python中__new__与__init__方法的区别详解
2015/05/04 Python
谈谈Python中的while循环语句
2019/03/10 Python
python交互模式下输入换行/输入多行命令的方法
2019/07/02 Python
pytorch多进程加速及代码优化方法
2019/08/19 Python
解决pycharm下pyuic工具使用的问题
2020/04/08 Python
Shoes For Crews法国官网:美国领先的防滑鞋设计和制造商
2018/01/01 全球购物
女大学生毕业找工作的自我评价
2013/10/03 职场文书
应届生服务员求职信
2013/10/31 职场文书
函授教育个人学习的自我评价
2013/12/31 职场文书
天地会口号
2014/06/17 职场文书
党小组评议意见
2015/06/02 职场文书
法制工作总结2015
2015/07/23 职场文书
2016春季田径运动会广播稿
2015/12/21 职场文书
mysql外连接与内连接查询的不同之处
2021/06/03 MySQL