学习 表单验证插件validate

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<link rel="stylesheet" href="style.css">
<body>
    <form action="" id="demoForm">
        <fieldset>
            <legend>用户登陆</legend>
                <p id="info"></p>
                <p id="info2" style="display:none">输入错误</p>
                <p>
                    <label for="usename">用户登录</label>
                    <input type="text" id="usename" name="usename">
                </p>
                <p>
                    <label for="parseword">密码</label>
                    <input type="password" id="parseword" name="parseword">
                </p>
                <p>
                    <label for="confirm-parseword">确认密码</label>
                    <input type="password" id="confirm-parseword" name="confirm-parseword">
                </p>
                <p>
                    <label for="dates">日期</label>
                    <input type="text" id="dates" name="dates">
                </p>
                <p>
                    <label for="emails">邮箱</label>
                    <input type="text" id="emails" name="emails">
                </p>
                <p>
                    <label for="loads">地址</label>
                    <input type="text" id="loads" name="loads">
                </p>
                <p>
                    <label for="numbers">数字</label>
                    <input type="text" id="numbers" name="numbers">
                </p>

                <p>
                    <label for="postcodes">邮政编码</label>
                    <input type="text" id="postcodes" name="postcodes">
                </p>

                <p>
                    <input type="submit" value="登录"/>
                </p>
                <p>
                    <button id="check">检测表单</button>
                </p>
        </fieldset>
    </form>
</body>
<script src="http://cdn.bootcss.com/jquery/3.1.0/jquery.js"></script>
<script src="jquery.validate.js"></script>
<script>
    var validator;
    $(document).ready(function(){
        validator = $("#demoForm").validate({
            debug:true,//只进行检测不提交,调试很方便
            rules:{//定义校验规则
                usename:{//usename是input的name不是id
                    required:{
                            depends:function(element){
                                return $("#parseword").is(":filled");//密码是否填写  不填写密码不校验用户名
                            }
                        },
                    //url:true,//地址需要输入  http || https
                    //email:true,//验证邮箱
                    minlength:{
                            param:2,
                            depends:function(element){
                                return $("#parseword").is(":filled");//密码是否填写  不填写密码不校验用户名
                            }
                        },//最小长度
                    maxlength:10,//最大长度
                    //rangelength:[2,10],//长度范围
                    //remote:"remote.json" GET请求
                    /*remote:{
                        url:"remote.json",
                        type:"post",
                        data:{
                            loginTime:function(){
                                return + new Date;
                            }
                        }
                    }*/
                },
                parseword:{
                    required:true,
                    minlength:5,
                    maxlength:16
                },
                "confirm-parseword":{
                    equalTo:"#parseword"
                },

                dates:{
                    required:true,
                    //date:true//范围非常广
                    dateISO:true
                },
                emails:{
                    required:true,
                    email:true
                },
                loads:{
                    required:true,
                    url:true
                },
                numbers:{
                    required:true,
                    //number:true//整数数字、小数
                    digits:true//非负整数
                },
                postcodes:{
                    //required:true,
                    postcode:"中国"
                },
            },
            messages:{//定义提示信息
                usename:{
                    required:"必填",
                    minlength:"最少两位数",
                    maxlength:"最多十位数字",
                    remote:"用户名不存在",
                    rangelength:"2-10个字符",
                    email:"请输入正确的邮箱地址",
                    url:"请输入正确的地址"
                },
                parseword:{
                    required:"必填",
                    minlength:"最少五位数",
                    maxlength:"最多十六位数字"
                },
                "confirm-parseword":{
                    equalTo:"密码不一致"
                },
                dates:{
                    required:"必填",
                    date:"请输入正确的有效日期",
                    dateISO:"错误"
                },
                emails:{
                    required:"必填",
                    email:"错误"
                },
                loads:{
                    required:"必填",
                    url:"错误"
                },
                numbers:{
                    required:"必填",
                    number:"错误",
                    digits:"非负整数"
                }
            },
            submitHandler:function(form){//表单验证成功之后执行的方法
                console.log($(form).serialize());
            },

            //错误信息在一个地方显示
            /*groups:{
                login:"usename parseword confirm-parseword"
            },
            //错误信息显示在........
            errorPlacement:function(error,element){
                error.insertBefore("#info");
            },*/

            //onsubmit:false,//是否在登录时进行验证默认 true;

            focusInvalid:true,//提交表单后,未通过验证的表单是否获得焦点

            //errorClass:"wrong",//验证错误定义的类名
            //validClass:"right",//验证正确定义的类名
            //errorContainer:"#info", //设置 info 显示还是隐藏
            //errorContainer:"#info2",
            //errorLabelContainer:"#info",// ul 再放入 info里面
            //errorElement:"li",  //错误信息使用的标签
            //wapper:"ul",//包裹错误信息使用的标签

            showErrors:function(errorMap,errorList){
                console.log(errorMap);
                console.log(errorList);
                this.defaultShowErrors();//不调用默认不显示错误信息
            },

            //针对验证 元素 label
            success:function(label){//验证成功之后给验证成功的元素添加类名
                label.addClass("successright");
            },

            //针对表单元素 给未通过验证的元素添加效果
            highlight:function(element, errorClass, validClass){
                $(element).addClass(errorClass).removeClass(validClass);
                $(element).fadeOut().fadeIn();
            },

            unhighlight:function(element, errorClass, validClass){
                $(element).addClass(validClass).removeClass(errorClass);
            },

            /*invalidHandler:function(event,validator){//表单验证失败之后执行的方法
                console.log("错误数" + validator.numberOfInvalids());
            }*/
            //ignore:"#usename"//对某些元素不进行校验
            //ignore:"hidden"  //默认不对影藏的元素校验

        });

        //自定义验证方法  邮政编码
        $.validator.addMethod("postcode" ,function(value, element, params){
            var postcode = /^[0-9]{6}$/;

            console.log(params);
            return this.optional(element) || (postcode.test(value));
            //this.optional(element) 去掉之后不填也会提示 请填写正确的邮政编码!!
            //this.optional(element) 值为空的时候不去触发校验规则
        }, $.validator.format("请填写正确的{0}邮政编码!!"));

        /*$("#demoForm").on("invalid-form", function(event,validator){//表单验证失败之后执行的方法
                console.log("错误数" + validator.numberOfInvalids());
            });*/

        //检测
        $("#check").click(function(){
            alert($("#demoForm").valid() ? "填写正确" : "填写错误");
        })
    })
</script>
</html>
时间: 2024-10-07 01:33:11

学习 表单验证插件validate的相关文章

表单验证插件——validate

该插件自带包含必填.数字.URL在内容的验证规则,即时显示异常信息,此外,还允许自定义验证规则,插件调用方法如下: $(form).validate({options}) 其中form参数表示表单元素名称,options参数表示调用方法时的配置对象,所有的验证规则和异常信息显示的位置都在该对象中进行设置. 例如,当点击表单中的"提交"按钮时,调用validate插件验证用户名输入是否符合规则,并将异常信息显示在页面中,如下图所示: 在浏览器中显示的效果: 从图中可以看出,在页面中导入了

2.12 学习总结 之 表单校验插件validate

一.说在前面 昨天 学习了ajax的相关知识 今天 学习表单校验插件validate, 并使用ajax 自定义校验规则 二.validate 插件 1.网络上有许多成熟的插件共使用者参考,插件就是将jquery实现的常用操作进行封装,封装后的小框架就可以叫做插件,按照插件的语法去操作可以实现很多复杂的功能,而这些复杂功能的背后实现我们可以不必懂. 2.导入插件的步骤: 1) 将jquery的原始文件和插件文件jquery.validate.js导入到工程中 2) 编写js代码对表单进行验证 3.

兼容IE8以下浏览器input表单属性placeholder不能智能提示功能,以及使用jquery.validate.js表单验证插件的问题处理

当前很多表单提示使用了表单属性placeholder,可这属性不兼容IE8以下的浏览器,我自己写了一个兼容处理js // 兼容IE8以下浏览器input不能智能提示功能 if(navigator.appName == "Microsoft Internet Explorer" && (navigator.appVersion.match(/7./i)=="7." || navigator.appVersion.match(/8./i)=="

jQuery.validate.js表单验证插件

jQuery.validate.js表单验证插件的使用 效果: 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-e

表单验证插件jquery.validate.js学习

一.前言 在做web应用的时候,数据验证是非常重要的,一个不小心就产生bug,而bug多了显得个人开发能力都有问题,这个时候如果能有一个用着得心应手的验证插件,开发效率也会大大的提高.就好像牛魔王告诉孙悟空,你缺少一件兵器,于是他就抢来了棒子,用着那叫一个爽.三首蛟告诉杨戬,你手里缺少一件兵器,于是他把三首蛟变成了三尖两刃枪里,再配合一个忠心而又嗅觉灵敏的狗狗,办起事来真是事半功倍.今天我也学学这款比较流行的表单验证插件,给自己搞一个好使的兵器. 插件官网:https://jqueryvalid

jQuery学习之:Validation表单验证插件

http://polaris.blog.51cto.com/1146394/258781/ 最近由于公司决定使用AJAX + Struts2来重构项目,让我仔细研究一下这两个,然后集中给同事讲讲,让每个人都能够有所掌握,慢慢会用.于是,自己便开始学习…… 由于Struts2自己早就学过,因而不需要花多少时间.而AJAX之前没怎么用过.现在AJAX框架如此之多,选择哪一个呢?开始打算选择 dojo,但是看了一点后,发现蛮复杂的.在之前有学过一点点jQuery,而网上也说jQuery很强大而且很容易

Jquery.validate.js表单验证插件的使用

作为一个网站web开发人员,以前居然不知道还有表单验证这样好呀的插件,还在一行行写表单验证,真是后悔没能早点知道他们的存在. 最近公司不忙,自己学习一些东西的时候,发现了validation的一个实例讲解应用.it's perfect. 首先记录一些使用过程中,爱犯的错误: 1>忘记给表单form添加id属性 2>input这些表单标签必须id属性和name属性名字一样.例如:<input type="text" id="name" name=&q

jquery validate 表单验证插件

对于初学者而言,html表单验证是一项极其琐碎的事情.要做好表单验证,需要准备以下基本要素: 1.html表单结构:包含需要校验的表单元素: 2.js逻辑控制:在需要校验的表单元素上绑定事件,如点击.获取焦点.失去焦点等事件,并设置这些事件对应的执行函数: 3.css样式设置:针对需要校验的表单元素,需要设置默认的初始样式,以及触发元素绑定事件后的变化样式. 这3类基本要素中,html表单结构的创建相对简单.表单验证的重点和难点在于如何利用js及时有效地提醒用户有关表单操作的信息.这里我参考了百

【jQuery基础学习】06 jQuery表单验证插件-Validation

jQuery的基础部分前面都讲完了,那么就看插件了. 关于jQuery表单验证插件-Validation validation特点: 内置验证规则:拥有必填.数字.E-Mail.URL和信用卡号码等19类内置验证规则 自定义验证规则:可以很方便地自定义验证规则 简单强大的验证信息提示:默认了验证信息提示,并提供了自定义覆盖默认提示信息的功能 实时验证:可以通过keyup或者blur事件触发验证,而不仅仅在表单提交的时候验证 使用方法: 引用jQuery库和Validation插件 <script