zoukankan      html  css  js  c++  java
  • Jquery.validate表单验证

    http://www.cnblogs.com/Jaylong/archive/2011/06/11/jquery7884.html

    一、用前必备
    官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/
    API: http://jquery.bassistance.de/api-browser/plugins.html
    当前版本:1.8.1

    需要JQuery版本:1.3.2+, 兼容 1.3.2
    <script src="js/jquery.js" type="text/javascript"></script>
    <script src="js/jquery.validate.js" type="text/javascript"></script>

    <script src="js/jquery.metadata.js" type="text/javascript"></script>

    二、默认校验规则
    (1)required:true              必输字段
    (2)remote:"check.php"          使用ajax方法调用check.php验证输入值
    (3)email:true                  必须输入正确格式的电子邮件
    (4)url:true                    必须输入正确格式的网址
    (5)date:true                  必须输入正确格式的日期
    (6)dateISO:true                必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01/22 只验证格式,不验证有效性
    (7)number:true                必须输入合法的数字(负数,小数)
    (8)digits:true                必须输入整数
    (9)creditcard:                必须输入合法的信用卡号
    (10)equalTo:"#field"          输入值必须和#field相同
    (11)accept:                    输入拥有合法后缀名的字符串(上传文件的后缀)
    (12)maxlength:5                输入长度最多是5的字符串(汉字算一个字符)
    (13)minlength:10              输入长度最小是10的字符串(汉字算一个字符)
    (14)rangelength:[5,10]        输入长度必须介于 5 和 10 之间的字符串")(汉字算一个字符)
    (15)range:[5,10]              输入值必须介于 5 和 10 之间
    (16)max:5                      输入值不能大于5
    (17)min:10                    输入值不能小于10

    三、默认的提示
    messages: {
        required: "This field is required.",
        remote: "Please fix this field.",
        email: "Please enter a valid email address.",
        url: "Please enter a valid URL.",
        date: "Please enter a valid date.",
        dateISO: "Please enter a valid date (ISO).",
        dateDE: "Bitte geben Sie ein g眉ltiges Datum ein.",
        number: "Please enter a valid number.",
        numberDE: "Bitte geben Sie eine Nummer ein.",
        digits: "Please enter only digits",
        creditcard: "Please enter a valid credit card number.",
        equalTo: "Please enter the same value again.",
        accept: "Please enter a value with a valid extension.",
        maxlength: $.validator.format("Please enter no more than {0} characters."),
        minlength: $.validator.format("Please enter at least {0} characters."),
        rangelength: $.validator.format("Please enter a value between {0} and {1} characters long."),
        range: $.validator.format("Please enter a value between {0} and {1}."),
        max: $.validator.format("Please enter a value less than or equal to {0}."),
        min: $.validator.format("Please enter a value greater than or equal to {0}.")
    }

    可以直接修改默认的信息

    使用方式一(直接在文本框的class中写验证规则)

    <script type="text/javascript">
    $(document).ready(function() {
     $("#commentForm").validate(); 
    });
    </script>
    html 页面代码:

    直接在输入的文本框中写class="required email"验证规则,还有josn数据格式的class="{required:true,email:true}" 

    复制代码
    <form class="cmxform" id="commentForm" method="post" action="">
        <fieldset>
            <legend>请输入姓名和邮件地址!</legend>
            <p>
                <label for="cname">姓名 (必填,至少两个字符)</label>
                <input id="cname" name="name" class="required" minlength="2" />
            </p>
            <p>
                <label for="cemail">邮箱 (必填)</label>
                <input id="cemail" name="email" class="{required:true,email:true}" />
            </p>
            <p>
                <label for="curl">网址 (可选)</label>
                <input id="curl" name="url" class="url" value="" />
            </p>
            <p>
                <label for="ccomment">留言 (必填)</label>
                <textarea id="ccomment" name="comment" class="required"></textarea>
            </p>
            <p>
                <input class="submit" type="submit" value="Submit"/>
            </p>
        </fieldset>
    </form>
    复制代码

    使用方式二,自定义rules验证规则,测试的页面代码是上面的

    <script type="text/javascript">
    $(document).ready(function() {         
     //$("#commentForm").validate();
     $("#commentForm").validate({          
        rules:{
         cname:{
          required:true,
          rangelength:[2,10]
          }     
         } 
         //自定义验证信息
           message:{
             cname:{
          required:"用户名不能为空",
          rangelength:$.validator.format("输入的范围在 {0}-{1} 之间的字符.")
          }
      }


      })
    });
    </script>
    最后为了提高用户体验,

    样式应该这样写:

    复制代码
    <style type="text/css">
            /************jQuery.Validate插件样式开始********************/
            label.error
            {
                background: url(images/error.png) no-repeat 0px 0px;
                color: Red;
                padding-left: 20px;
            }
            label.success
            {            
               background:url("images/checked.gif") no-repeat 0px 0px; 
            }
            input.error
            {
                border: dashed 1px red;
            }
            /************jQuery.Validate插件样式结束********************/
    </style>
    复制代码

    注意:其中的label是默认的装载提示信息的文本框,其中的error也是默认的样式,而success是添加的

    脚本代码应该改为:

    复制代码
    <form class="cmxform" id="commentForm" method="post" action="">
        <fieldset>
            <legend>请输入姓名和邮件地址!</legend>
            <p>
                <label for="cname">姓名 (必填,至少两个字符)</label>
                <input id="cname" name="name" class="required" minlength="2" />
            </p>
            <p>
                <label for="cemail">邮箱 (必填)</label>
                <input id="cemail" name="email" class="required email" />
            </p>
            <p>
                <label for="curl">网址 (可选)</label>
                <input id="curl" name="url" class="url" value="" />
            </p>
            <p>
                <label for="ccomment">留言 (必填)</label>
                <textarea id="ccomment" name="comment" class="required"></textarea>
            </p>
            <p>
                <input class="submit" type="submit" value="Submit"/>
            </p>
        </fieldset>
    </form>
    复制代码

     测试的源码提供下载(和博客的有点不一样,因为我是写给自己备忘的,不过是源码中提炼出来的):/Files/Jaylong/表单验证.zip

  • 相关阅读:
    mac 10.15.7 修改PATH
    oc 属性类型一般用法
    ubuntu解压zip文件名乱码
    telnet 退出
    docker 根据容器创建镜像
    mac android adb device 没有显示设备
    Yii2 查看所有的别名 alias
    Yii2 App Advanced 添加 .gitignore
    ubuntu 18.04 搜狗突然就提示乱码
    An error occured while deploying the file. This probably means that the app contains ARM native code and your Genymotion device cannot run ARM instructions. You should either build your native code to
  • 原文地址:https://www.cnblogs.com/zkwarrior/p/4866656.html
Copyright © 2011-2022 走看看