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基础知识大集锦(二) 推荐收藏
Jan 13 Javascript
js中的eventType事件及其浏览器支持性介绍
Nov 29 Javascript
JS函数重载的解决方案
May 13 Javascript
jQuery实现选项联动轮播效果【附实例】
Apr 19 Javascript
json传值以及ajax接收详解
May 24 Javascript
ECMAScript6快速入手攻略
Jul 18 Javascript
angularjs+bootstrap实现自定义分页的实例代码
Jun 19 Javascript
前端图片懒加载(lazyload)的实现方法(提高用户体验)
Aug 21 Javascript
webpack多入口文件页面打包配置详解
Jan 09 Javascript
JS 中可以提升幸福度的小技巧(可以识别更多另类写法)
Jul 28 Javascript
创建Vue项目以及引入Iview的方法示例
Dec 03 Javascript
JavaScript队列结构Queue实现过程解析
Mar 07 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方法调用模式与函数调用模式简例
2011/09/20 PHP
php中JSON的使用与转换
2015/01/14 PHP
php生成带logo二维码方法小结
2016/04/08 PHP
CodeIgniter框架验证码类库文件与用法示例
2017/03/18 PHP
详细分析PHP 命名空间(namespace)
2020/06/30 PHP
js导出table数据到excel即导出为EXCEL文档的方法
2013/10/10 Javascript
JavaScript闭包实例讲解
2014/04/22 Javascript
跟我学Nodejs(二)--- Node.js事件模块
2014/05/21 NodeJs
JavaScript继承基础讲解(原型链、借用构造函数、混合模式、原型式继承、寄生式继承、寄生组合式继承)
2014/08/16 Javascript
javascript中var的重要性分析
2015/02/11 Javascript
通过JS判断联网类型和连接状态的实现代码
2015/04/01 Javascript
jQuery图片特效插件Revealing实现拉伸放大
2015/04/22 Javascript
WebApi+Bootstrap+KnockoutJs打造单页面程序
2016/05/16 Javascript
详解webpack4升级指南以及从webpack3.x迁移
2018/06/12 Javascript
vue新vue-cli3环境配置和模拟json数据的实例
2018/09/19 Javascript
vue-cli3.0实现一个多页面应用的历奇经历记录总结
2020/03/16 Javascript
Python实现GUI学生信息管理系统
2020/04/05 Python
numpy中以文本的方式存储以及读取数据方法
2018/06/04 Python
Flask 上传自定义头像的实例详解
2020/01/09 Python
Tensorflow 多线程设置方式
2020/02/06 Python
解决Django no such table: django_session的问题
2020/04/07 Python
浅谈Python中的字符串
2020/06/10 Python
纯css3制作网站后台管理面板
2014/12/30 HTML / CSS
ECCO爱步加拿大官网:北欧丹麦鞋履及皮具品牌
2017/07/08 全球购物
欧洲最大的预定车位市场:JustPark
2020/01/06 全球购物
武汉瑞得软件笔试题
2015/10/27 面试题
自我评价正确写法范文
2013/12/10 职场文书
烹调加工管理制度
2014/02/04 职场文书
新年主持词
2014/03/27 职场文书
安全生产标语
2014/06/06 职场文书
员工薪酬激励方案
2014/06/13 职场文书
普通话宣传标语
2014/06/26 职场文书
交流会主持词
2015/07/02 职场文书
运动会运动员赞词
2015/07/22 职场文书
法律服务所工作总结
2015/08/10 职场文书
Java Shutdown Hook场景使用及源码分析
2021/06/15 Java/Android