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 相关文章推荐
Firefox outerHTML实现代码
Jun 04 Javascript
jQuery 隔行换色 支持键盘上下键,按Enter选定值
Aug 02 Javascript
javascript 匿名函数的理解(透彻版)
Jan 28 Javascript
JavaScript的document对象和window对象详解
Dec 30 Javascript
json原理分析及实例介绍
Nov 29 Javascript
ExtJS 刷新后如何默认选中刷新前最后一次选中的节点
Apr 03 Javascript
js console.log打印对像与数组用法详解
Jan 21 Javascript
深入理解React高阶组件
Sep 28 Javascript
Vuejs2 + Webpack框架里,模拟下载的实例讲解
Sep 05 Javascript
解决vue项目nginx部署到非根目录下刷新空白的问题
Sep 27 Javascript
vue-music 使用better-scroll遇到轮播图不能自动轮播问题
Dec 03 Javascript
Vue表单提交点击事件只允许点击一次的实例
Oct 23 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
15种PHP Encoder的比较
2007/03/06 PHP
discuz安全提问算法
2007/06/06 PHP
解决文件名解压后乱码的问题 将文件名进行转码的代码
2012/01/10 PHP
php一维二维数组键排序方法实例总结
2014/11/13 PHP
php解析url并得到url中的参数及获取url参数的四种方式
2015/10/26 PHP
IE6 fixed的完美解决方案
2011/03/31 Javascript
JQuery动画和停止动画实例代码
2013/03/01 Javascript
jquery操作select详解(取值,设置选中)
2014/02/07 Javascript
页面加载完后自动执行一个方法的js代码
2014/09/06 Javascript
JavaScript实现找质数代码分享
2015/03/24 Javascript
js数组去重的5种算法实现
2015/11/04 Javascript
JavaScript实现显示函数调用堆栈的方法
2016/04/21 Javascript
JavaScript基础教程——入门必看篇
2016/05/20 Javascript
简单谈谈js的数据类型
2017/09/25 Javascript
jQuery ajax读取本地json文件的实例
2017/10/31 jQuery
element-ui 表格实现单元格可编辑的示例
2018/02/26 Javascript
AngularJS标签页tab选项卡切换功能经典实例详解
2018/05/16 Javascript
jQuery实现动画、消失、显现、渐出、渐入效果示例
2018/09/06 jQuery
iView-admin 动态路由问题的解决方法
2018/10/03 Javascript
JS实现数组深拷贝的方法分析
2019/03/06 Javascript
qrcode生成二维码微信长按无法识别问题的解决
2019/04/04 Javascript
优雅地使用loading(推荐)
2019/04/20 Javascript
如何在Vue.JS中使用图标组件
2020/08/04 Javascript
Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例
2017/08/07 Python
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
2018/12/17 Python
CSS3自定义滚动条样式 ::webkit-scrollbar的示例代码详解
2020/06/01 HTML / CSS
King Apparel官网:英国街头服饰品牌
2019/09/05 全球购物
如何将字串String转换成整数int
2015/02/21 面试题
一组SQL面试题
2016/02/15 面试题
Java中采用什么结构来捕获、处理异常?各子句的顺序、功能如何
2013/10/07 面试题
生物制药自我鉴定
2014/01/25 职场文书
师范学院美术系毕业生自我鉴定
2014/01/29 职场文书
物流管理专业自荐信
2014/06/23 职场文书
群众路线教育实践活动实施方案
2014/10/31 职场文书
理想国读书笔记
2015/06/25 职场文书
如何使用CocosCreator对象池
2021/04/14 Javascript