vilidate是jquery的一个form表单验证插件非常实用

里面需要注意的就是remote的用法

/*验证*/
$().ready(function() {
    $(".form_all").validate({
        
        /*经验证,都未出错则执行*/
        submitHandler: function(form) {
  
        },
        /*提示信息位置为下面的空div*/
        errorPlacement: function(error, element) { //错误信息位置设置方法
            error.appendTo( element.parent().next() ); //这里的element是录入数据的对象
        },
        onkeyup: false,

        /*验证规则*/
        rules:{
            /*验证码*/
            validata_number:{
                required:true,
                number:true,
                rangelength:[6,6],
                remote   : {
                    url :'?c=register&m=verification_judge',
                    type:'post',
                    data:{
                        send_code : function(){
                           return $("#validata_number").val();
                        },
                        send_code_name : function(){
                           return $('form').find('.input_name').val();
                        },

                    }
                }
            },
            /*账户邮箱手机号*/
//            uername:{
//                required:true,
//                uername:true
//            },

            /*玩家账号*/
            Player_account:{
                required:true,
                remote:{
                    url :'?c=register&m=name_judge',
                    type:'post',
                    data:{
                        name : function(){
                           return $("#Player_account").val();
                        },
                        player_account:function(){
                           return $("#Player_account").attr('name');
                        }

                    }
                }
            },
           /* /!*真实姓名*!/
            real_name:{
                required:true
            },
            /!*身份证号码*!/
            ID_number:{
                IDnumber:true
            },*/
            /*手机号码*/
            phone_number:{
                required:true,
                number:true,
                rangelength:[11,11],
                phonenumber:true,
                remote: {
                    url :'?c=register&m=name_judge',
                    type:'post',
                    data:{
                        name : function(){
                           return $("#phone_number").val();
                        }

                    }
                }

            },
            /*旧密码*/
            old_password:{
                required:true,
                rangelength:[6,15],
                remote:{
                    url:'?c=register&m=name_judge',
                    type:'post',
                    data:{
                        name:function(){
                            return $("#uername_email_phone").val();
                        },
                        old_password:function(){
                            return $("#old_password").val();
                        }
                    }
                }
            },
            /*密码*/
            password:{
                required:true,
                rangelength:[6,15]
            },
            /*确认密码*/
            Confirm_password:{
                required:true,
                rangelength:[6,15],
                equalTo: ".password"    
            },
            /*邮箱*/
            email: {
                required: true,
                email: true,
                remote:{
                    url:'?c=register&m=name_judge',
                    type:'post',
                    data:{
                        name:function(){
                            return $("#email").val();
                        }
                    }
                }
            },
            /*找回密码 邮箱*/
            email_back: {
                required: true,
                email:true,
                remote:{
                    url:'?c=register&m=name_judge',
                    type:'post',
                    data:{
                        name:function(){
                            return $("#email_back").val();
                        }
                    }
                }
            },
            /*找回密码 手机*/
            phone_back:{
                required:true,
                number:true,
                rangelength:[11,11],
                phonenumber:true,
                remote:{
                    url:'?c=register&m=name_judge',
                    type:'post',
                    data:{
                        name:function(){
                            return $("#phone_back").val();
                        }
                    }
                }
                
            },
            /*修改密码*/
            uername_email_phone:{
                required:true,
                remote:{
                    url:'?c=register&m=name_judge',
                    type:'post',
                    data:{
                        name:function(){
                            return $("#uername_email_phone").val();
                        }
                    }
                }
            }
            
            
        },
        /*验证失败提示*/
        messages:{
            validata_number:{
                required:"请输入右侧验证码",
                number:"请输入数字",
                rangelength:"请输入六位验证码",
                remote:"验证码错误"    
            },
            uername:{
                required:"请输入用户名",
                uername:"该用户不存在,请重新输入"
            },
            /*real_name:{
                required:"请输入您的真实姓名"
            },*/
            Player_account:{
                required:"请输入您的账号",
                remote:"账号输入不对,请重新输入"
            },
           /* ID_number:{
                IDnumber:"请输入正确的身份证号码"
            },*/
            phone_number:{
                required:"请输入手机号码",
                number:"请输入正确的手机号码",
                rangelength:"请输入十一位手机号码",
                phonenumber:"请输入正确的手机号码",
                remote:"此号码已被注册"
                
            },
            old_password:{
                required: "请输入密码",
                minlength: "密码长度在6到15之间"
            },
            password:{
                required: "请输入密码",
                minlength: "密码长度在6到15之间"
            },
            Confirm_password:{
                required: "请输入密码",
                minlength: "密码长度在6到15之间",
                equalTo: "两次密码输入不一致"
            },
            email:{
                required: "请输入邮箱",
                email:"请输入一个正确的邮箱",
                remote:"此邮箱已经被注册"
            },
            email_back:{
                required: "请输入邮箱账号",
                email:"请输入一个正确的邮箱",
                remote:"用户名错误,请重新输入"
            },
            phone_back:{
                required:"请输入手机号码",
                number:"请输入正确的手机号码",
                rangelength:"请输入十一位手机号码",
                phonenumber:"请输入正确的手机号码",
                remote:"用户名错误,请重新输入"
            },
            uername_email_phone:{
                required:"请输入正确的用户名/邮箱/手机号码",
                remote:"输入账号不存在,请重新输入"
            },
            old_password:{
                required: "请输入密码",
                minlength: "密码长度在6到15之间",
                remote:"密码输入错误,请重新输入"
            }
            
        },
          
    });

1.需注意用remote的一个容易发生错误的地方 在发送ajax的时候格式为json jquery remote认证的是字符串  需要触发的时候返回echo "false";return false;  无需触发 返回echo "true";return false;

2.使用了remote之后 submitHandler: function(form) {   } 与 remote会相触  解决方法

function doSubmit()
    {    
        var result =$("form").valid();   //判断input是否符合要求
        
        if(result == true){

            return true;
        }else{

            return false;
        }
    }
    
    $('#submit').click(function(){
        var url = $('form').attr('action');
        if(doSubmit()){
         var data= $('form :input').serialize();
         $.ajax({
            url:url,
            type:'post',
            data:data,
            dataType:'json',
            success:function(data) {
                if (data)
                {
                    alert('成功');
                } else
                {
                    alert('失败');
                }
            }
              });
        }
    });

在工作中遇到的一些情况,如果有更好的麻烦也告诉我!

jquery.vilidate的运用的更多相关文章

  1. Angular杂谈系列1-如何在Angular2中使用jQuery及其插件

    jQuery,让我们对dom的操作更加便捷.由于其易用性和可扩展性,jQuer也迅速风靡全球,各种插件也是目不暇接. 我相信很多人并不能直接远离jQuery去做前端,因为它太好用了,我们以前做的东西大 ...

  2. jQuery UI resizable使用注意事项、实时等比例拉伸及你不知道的技巧

    这篇文章总结的是我在使用resizable插件的过程中,遇到的问题及变通应用的奇思妙想. 一.resizable使用注意事项 以下是我在jsfiddle上写的测试demo:http://jsfiddl ...

  3. Jquery的点击事件,三句代码完成全选事件

    先来看一下Js和Jquery的点击事件 举两个简单的例子 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&q ...

  4. jQuery实践-网页版2048小游戏

    ▓▓▓▓▓▓ 大致介绍 看了一个实现网页版2048小游戏的视频,觉得能做出自己以前喜欢玩的小游戏很有意思便自己动手试了试,真正的验证了这句话-不要以为你以为的就是你以为的,看视频时觉得看懂了,会写了, ...

  5. jquery和Js的区别和基础操作

    jqery的语法和js的语法一样,算是把js升级了一下,这两种语法可以一起使用,只不过是用jqery更加方便 一个页面想要使用jqery的话,先要引入一下jqery包,jqery包从网上下一个就可以, ...

  6. jQuery之ajax实现篇

    jQuery的ajax方法非常好用,这么好的东西,你想拥有一个属于自己的ajax么?接下来,我们来自己做一个简单的ajax吧. 实现功能 由于jq中的ajax方法是用了内置的deferred模块,是P ...

  7. 利用snowfall.jquery.js实现爱心满屏飞

    小颖在上一篇一步一步教你用CSS画爱心中已经分享一种画爱心的方法,这次再分享一种方法用css画爱心,并利用snowfall.jquery.js实现爱心满屏飞的效果. 第一步: 利用伪元素before和 ...

  8. jQuery的61种选择器

    The Write Less , Do More ! jQuery选择器 1. #id : 根据给定的ID匹配一个元素 <p id="myId">这是第一个p标签< ...

  9. jquery.uploadify文件上传组件

    1.jquery.uploadify简介 在ASP.NET中上传的控件有很多,比如.NET自带的FileUpload,以及SWFUpload,Uploadify等等,尤其后面两个控件的用户体验比较好, ...

随机推荐

  1. Eclipse 打开文件所在文件夹

    右击文件 > Show In > System Explorer

  2. eclipse调试找不到源解决办法

    eclipse调试时有时显示找不到源码,首先得确定代码没问题 这是eclipse没有发现工程源码,解决办法是 右键工程>>Debug As >> Debug configura ...

  3. HDU-1102-Constructing Roads(并查集)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1102 这题大意就不讲了, 这题很容易,不过我做的很不爽,一个下午,一直WA,后来才发现数组开小了 只开 ...

  4. 关于异常“The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine”的处理

    我们在利用SqlBlukcopy技术倒2010 或者2007格式的文件到SqlServer 数据库的时候,会发生如下错误: 原因如下: 1.在用SQL SERVER 2005访问.xlsx文件(off ...

  5. Flex移动应用程序开发的技巧和窍门(一)

    这是一个由多个部分组成的系列文章的第一部分,它包含了Flex移动开发的若干技巧.如果你过去习惯于桌面和Web编程,你会发现,开发移动应用程序将面临一系列新的挑战. 除了重新思考你的对数据存储和处理的策 ...

  6. 利用moment为基础,基于DOM实现一个多个倒计时同时进行的js库方便使用

    moment非常强大,提供了很多时间方法的封装,项目需要一个小倒计时的功能,网上找了很多不合适,决定自己写一个,直接上代码 //定义一个立即执行的函数(function () { var Ticts= ...

  7. ubuntu 14.04 中找不到 libgtk-x11-2.0.so

    如果ubuntu安装的64位的,在其中安装32位软件时就会碰到缺失libgtk-x11-2.0.so的情况 比如用wine安装qq时 启动qq时就会报这样的错误 error : cannot open ...

  8. Import Statements 导入语句

    Syntax of an Import Statement 导入语句的语法 An import statement allows clients to tell the engine which mo ...

  9. 吉特仓储管系统(开源WMS)--Web在线报表以及打印模板分享

    很早之前就想写这篇文章与大家分享一下自己在吉特仓储管理系统中开发打印和报表的功能,在GitHub(https://github.com/hechenqingyuan/gitwms)上公开下载的代码中很 ...

  10. 11G内存设置一例

    11G的内存设置参数有memory_target.memory_max_target.sga_target.pga_aggregate_target等. 一个特别繁忙的数据库,前期内存设置较低,物理内 ...