zoukankan      html  css  js  c++  java
  • jquery之Validata表单验证

      需要jquery和jquery.Validata的包。

      

      一需要注意的是有时候表单错误提示的位置不是我们想要的,所以我们要去人为的干预:

      不满足校验规则,表单校验插件就会定义一个lable标签, 如果表单校验插件定义的lable标签不符合我们的要求,就要自己定义一个lale标签,让标签开始的时处于隐藏状态, for=”sex“ 通过name的属性值gender找到要校验的标签 generate=”true" 写上:那么就会自动在messages中获取填写错误是的提示信息 不写:就会默认使用lable标签中的错误提示信息

      二、自定义验证规则

        写在页面中加载事件的里边Validata函数的外边

        格式: 属性  函数

        $.validator.addMethod("校验规则名称",function(value,element,params){  .........})

        function:

          value:input标签的value属性值;文本输入框中用户输入的内容

          element:input标签对象

          params:自定义规则传递参数。

    下面是一些基本的校验规则和两个自定义校验规则(更多校验规则也可以去菜鸟教程的jquery中的jquery-validata自己去查看)

    (自定义校验规则是校验身份证号时)

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="utf-8">
        <title>jQuery validation plug-in - main demo</title>
        <link rel="stylesheet" href="css/screen.css">
        <script src="./js/jquery.min.js"></script>
        <script src="./js/jquery.validate.min.js"></script>
    
    
        <script>
            $().ready(function() {
                $.validator.addMethod("sfidnum",function(value,element,params){
                    if (value.length!=18){
                        return false;
                    }
                    return true;
    
                });
                $.validator.addMethod("sfid",function(value,element,params){
                    var reg = /^[0-9]{17}[0-9X]$/
                    if (value.length=18){
                        return reg.test(value);
                    }
                    return true;
    
                });
    
                    $("#test").validate({
    
                    submitHandler:function(form){
                        alert("提交事件!");
                        form.submit();
                    },
    
                        rules:{
                        username:{
                            required:true,
                            rangelength:[3,5]
                        },
                        password:{
                            required:true,
                            minlength:5
                        },
                        repassword:{
                            required:true,
                            minlength:5,
                            //通过id来与密码比较是否相同
                            equalTo:"#password"
                        },
                        sex:"required",
                        age:{
                            required:true,
                            //rang指的是数字的大小,而rangelength指的是长度
                            range:[26,45],
                            //年龄必须是整数
                            digits:true
                        },
                        bir:{
                            required:true,
                            //必须满足日期格式YYYY-MM-dd
                            dateISO:true,
                            //检验日期的有效性
                            date:true
                        },
                        sid:{
                                required:true,
                                sfidnum:true,
                                sfid:true
                            }
    
                    },
                    messages:{
                        username:{
                            required:"不能为空",
                            rangelength:"3到5位"
                        },
                        password:{
                            required:"必须填写",
                            minlength:"长度不能小于5"
                        },
                        repassword:{
                            required:"不能为空",
                            minlength:"长度不能小于5",
                            equalTo:"与密码不同,请在此输入!"
                        },
                        sex:"必选其一",
                        age:{
                            required:"不能为空",
                            //rang指的是数字的大小,而rangelength指的是长度
                            range:"年龄必须在26到45岁之间",
                            //年龄必须是整数
                            digits:"年龄必须是则整数"
                        },
                        bir:{
                            required:"不能为空",
                            //必须满足日期格式YYYY-MM-dd
                            dateISO:"请按YYYY-MM-dd的日期格式书写",
                            date:"日期不正确"
                        },
                        sid:{
                            required:"不能为空",
                            sfidnum:"18位",
                            sfid:"只有最后一位可以是x"
                        }
    
                    }
                });
            });
        </script>
    
    </head>
    <body>
    
    <div id="main">
        <form    name="test" id="test"    method="post" action="test.jsp">
            <div>
                <label>姓名</label>
                <input type="text" name="username" >
            </div>
            <div>
                <label>密码</label>
                <input type="password" id="password" name="password" >
            </div>
            <div>
                <label>重复密码</label>
                <input type="password" name="repassword" >
            </div>
            <div>
                <label>性别:</label>
                <input type="radio" name="sex"  value="男"><input type="radio" name="sex"  value="女"><!--
                    不满足校验规则,表单校验插件就会定义一个lable标签,
                    如果表单校验插件定义的lable标签不符合我们的要求,就要自己定义一个lale标签,让标签开始的时处于隐藏状态,
                    for=”sex“ 通过name的属性值gender找到要校验的标签
                    generate=”true"
                        写上:那么就会自动在messages中获取填写错误是的提示信息
                        不写:就会默认使用lable标签中的错误提示信息
                -->
                <label generated="true" class="error" for="sex" style="display: none;"></label>
            </div>
            <div>
                <label>年龄</label>
                <input type="text" name="age" >
            </div>
            <div>
                <label>出生日期</label>
                <input type="text" name="bir" >
            </div>
            <div>
                <label>身份证号</label>
                <input type="text" name="sid" >
            </div>
            <div>
                <input type="submit" name="submit">
            </div>
        </form>
    </div>
    </body>
    </html>
  • 相关阅读:
    MySQL Replication主从复制
    使用Amoeba 实现MySQL DB 读写分离
    Amoeba For MySQL入门:实现数据库水平切分
    11条理由告诉你,为什么你的网站不卖座
    很有用的观察者设计模式
    Apache + Tomcat集群配置详解 (1)
    Nginx+tomcat配置负载均衡
    JSON-RPC轻量级远程调用协议介绍及使用
    nginx的upstream目前支持5种方式的分配
    rpc远程过程协议调用
  • 原文地址:https://www.cnblogs.com/moxihuishou/p/14318817.html
Copyright © 2011-2022 走看看