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 相关文章推荐
异步加载script的代码
Jan 12 Javascript
jQuery登陆判断简单实现代码
Apr 21 Javascript
javascript中with()方法的语法格式及使用
Aug 04 Javascript
基于jQuery实现的文字按钮表单特效整理
Dec 07 Javascript
JS实现文字链接感应鼠标淡入淡出改变颜色的方法
Feb 26 Javascript
javascript数组去重的方法汇总
Apr 14 Javascript
zepto与jquery的区别及zepto的不同使用8条小结
Jul 28 Javascript
微信小程序 条件渲染详解
Oct 09 Javascript
Angularjs中使用指令绑定点击事件的方法
Mar 30 Javascript
在create-react-app中使用sass的方法示例
Oct 01 Javascript
vue路由权限校验功能的实现代码
Jun 07 Javascript
js 数组当前行添加数据方法详解
Jul 28 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
Joomla简单判断用户是否登录的方法
2016/05/04 PHP
Yii框架视图、视图布局、视图数据块操作示例
2019/10/14 PHP
Javascript的构造函数和constructor属性
2010/01/09 Javascript
javascript break指定标签打破多层循环示例
2014/01/20 Javascript
JQuery球队选择实例
2015/05/18 Javascript
jquery+css3实现网页背景花瓣随机飘落特效
2015/08/17 Javascript
基于JQuery实现仿网易邮箱全屏动感滚动插件fullPage
2015/09/20 Javascript
JavaScript运行过程中的“预编译阶段”和“执行阶段”
2015/12/16 Javascript
JavaScript数据推送Comet技术详解
2016/04/07 Javascript
Seajs 简易文档 提供简单、极致的模块化开发体验
2016/04/13 Javascript
前端jquery部分很精彩
2016/05/03 Javascript
深入分析javascript中的错误处理机制
2016/07/17 Javascript
浅谈Web页面向后台提交数据的方式和选择
2016/09/23 Javascript
详解JS异步加载的三种方式
2017/03/07 Javascript
Vue.js结合bootstrap实现分页控件
2017/03/10 Javascript
浅谈Vue SSR 的 Cookies 问题
2017/11/20 Javascript
vue 使用鼠标滚动加载数据的例子
2019/10/31 Javascript
JavaScript实现多个物体同时运动
2020/03/12 Javascript
用Python编写一个每天都在系统下新建一个文件夹的脚本
2015/05/04 Python
Python字符串转换成浮点数函数分享
2015/07/24 Python
Python调用adb命令实现对多台设备同时进行reboot的方法
2018/10/15 Python
python图形工具turtle绘制国际象棋棋盘
2019/05/23 Python
Django中间件拦截未登录url实例详解
2019/09/03 Python
解决Python import docx出错DLL load failed的问题
2020/02/13 Python
django正续或者倒序查库实例
2020/05/19 Python
日本著名的服饰鞋帽综合类购物网站:MAGASEEK
2019/01/09 全球购物
大唐面试试题(CPU,UNIX等等)
2012/01/11 面试题
上班睡觉检讨书
2014/01/09 职场文书
咖啡书吧创业计划书
2014/01/13 职场文书
让生命充满爱演讲稿
2014/05/10 职场文书
中学生秋季运动会广播稿
2014/09/21 职场文书
劳资员岗位职责
2015/02/13 职场文书
归途列车观后感
2015/06/17 职场文书
教你使用Python pypinyin库实现汉字转拼音
2021/05/27 Python
再谈python_tkinter弹出对话框创建
2022/03/20 Python
Win Server2016远程桌面如何允许多用户同时登录
2022/06/10 Servers