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

    一、用前必备
    官方网站: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

  • 相关阅读:
    leetcode 86. Partition List
    leetcode 303. Range Sum Query
    leetcode 1310. XOR Queries of a Subarray
    leetcode 1309. Decrypt String from Alphabet to Integer Mapping
    leetcode 215. Kth Largest Element in an Array
    将numpy.ndarray写入excel
    leetcode 1021 Remove Outermost Parentheses
    leetcode 1306. Jump Game III
    leetcode 1305. All Elements in Two Binary Search Trees
    ICCV2019 oral:Wavelet Domain Style Transfer for an Effective Perception-distortion Tradeoff in Single Image Super-Resolution
  • 原文地址:https://www.cnblogs.com/Jaylong/p/jquery7884.html
Copyright © 2011-2022 走看看