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

  • 相关阅读:
    How to import data from Oracle into PostgreSQL(转)
    C++——算法 回溯 八皇后问题
    Python——彩图变线稿
    算法——二叉树的遍历 前序 中序 后序 广度优先 深度优先 (转)
    C++——计数排序 (转)
    C++——位运算相关 (转)
    C++——std::vector相关 (转)
    C++——双指针 (转)
    C++——求三数之和,实操从低效做法逐步提升到高效做法,受益良多
    C++——基础容器
  • 原文地址:https://www.cnblogs.com/Jaylong/p/jquery7884.html
Copyright © 2011-2022 走看看