• Jquery.validate表单验证


     1 <html>
     2     
     3     <head>
     4         <script src="jquery-1.7.2.min.js" type="text/javascript"></script>
     5         <script src="jquery.validate.js" type="text/javascript"></script>
     6     </head>
     7     
     8     <body>
     9     
    10         <form id="demo_form" action="#">
    11             <table style="border:1px red solid">
    12                 <tr style="border:1px red solid">
    13                     <td  style="border:1px red solid">
    14                         姓名
    15                     </td>
    16                     <td  style="border:1px red solid">
    17                         <input type="text" name="username" >
    18                     </td>
    19                     <td  style="border:1px red solid">
    20                         <span></span>
    21                     </td>
    22                 </tr>
    23                 <tr style="border:1px red soild">
    24                     <td  style="border:1px red solid">
    25                         年龄
    26                     </td>
    27                     <td  style="border:1px red solid">
    28                         <input type="text" name="age" >
    29                     </td>
    30                     <td  style="border:1px red solid">
    31                         <span></span>
    32                     </td>
    33                 </tr>
    34                 <tr style="border:1px red solid">
    35                     <td  style="border:1px red solid" colspan="2">
    36                         <input type="button" name="submit_btn" value="提交" >
    37                     </td>
    38                 </tr>
    39             </table>
    40         <form>
    41         
    42     </body>
    43     
    44     <script>
    45     
    46         //定义验证规则
    47         $("#demo_form").validate({
    48             focusCleanup:true,
    49             onkeyup:false, 
    50             errorPlacement: function(error, element) {  
    51                 //showErrorMesssgeDiv(error,element);
    52                 $(element).parent('td').next('td').children('span').html(error[0]);
    53             },   
    54             rules:{
    55                username:{
    56                    required:true,
    57                    minlength:3,
    58                    maxlength:10
    59                 },
    60                 age:{
    61                     required:true,
    62                     digits:true
    63                 }
    64             },
    65             messages:{
    66                 username:{
    67                    required:"用户名必须填",
    68                    minlength:"用户名不能少于3个字符",
    69                    maxlength:"用户名不能大于10个字符"
    70                 },
    71                 age:{
    72                     required:"年龄必须填",
    73                     digits:"年龄必须为数字"
    74                 }
    75             }
    76         });
    77         
    78         $("input[name='submit_btn']").unbind("click").bind("click",function(){
    79             if ( $("#demo_form").valid() )
    80             {
    81                 alert("验证通过!!");
    82             }
    83         });
    84         
    85         
    86     </script>
    87     
    88 </html>

    Jquery.validate 一些属性配置:

    required:true              

    必填字段

    remote:"check.php"         

    使用ajax方法调用check.php验证输入值

    email:true                 

    必须输入正确格式的电子邮件

    url:true                   

    必须输入正确格式的网址

    date:true                  

    必须输入正确格式的日期

    dateISO:true                

    必须输入正确格式的日期(ISO),例如:2010-01-01,2010/01/01 只验证格式,不验证有效性

    number:true                

    必须输入合法的数字(负数,小数)

    digits:true                

    必须输入整数

    creditcard:                

    必须输入合法的信用卡号

    equalTo:"#field"          

    输入值必须和$(“#field”)相同

    accept: "gif|png|jpg"

    输入拥有合法后缀名的字符串(上传文件的后缀),多个后缀之间用’|’隔开

    maxlength:5               

    输入长度最多是5的字符串(汉字算一个字符)

    minlength:3              

    输入长度最小是3的字符串(汉字算一个字符)

    rangelength:[5,10]        

    输入长度必须介于 5 和 10 之间的字符串")(汉字算一个字符)

    range:[5,10]              

    输入值必须介于 5 和 10 之间

    max:5                      

    输入值不能大于5

    min:10                    

    输入值不能小于10

    说明:

      remote是远程验证:比如注册验证用户名是否已被注册,返回值只能是true(验证成功)或false(验证失败)。在访问指定的url时,会自动把当前字段的值做为参数(以字段name为key)传递过去。

    某些属性值中的引号不能省略,否则出错。如accept、equalTo等。

      remote使用时遇到的问题:添加用户时需要验证用户名是否存在,当添加上一个用户后,在不离开该页面的情况下,再次添加该用户名的用户,validate不能提示该用户已存在,因为缓存的原因,jquery仍认为该用户名可用。解决方法是在页面中添加:

    $().ready(function(){

      $.ajaxSetup ({

        cache: false //关闭AJAX相应的缓存

      }); // 关闭缓存功能

    });

    自定义验证规则

      除了内置的验证规则,validation还允许自定义验证规则。这是通过validation的addMethod()方法实现的,语法 为:  

        jQuery.validator.addMethod("name",function,message)

      其中:

        name    为验证规则的名称

        function  定义验证的规则。参数有?。返回值为?。

        message  是验证失败时的提示信息。

    //更改默认的提示内容
    jQuery.extend(jQuery.validator.messages, {
        required: "必填字段",
        remote: "请指定一个不重复的值",
        email: "请输入正确格式的电子邮件",
        url: "请输入合法的网址",
        date: "请输入合法的日期",
        dateISO: "请输入合法的日期 (ISO).",
        number: "请输入合法的数字",
        digits: "只能输入整数",
        creditcard: "请输入合法的信用卡号",
        equalTo: "请再次输入相同的值",
        accept: "请输入拥有合法后缀名的字符串",
        maxlength: jQuery.validator.format("允许的最大长度为 {0} 个字符"),
        minlength: jQuery.validator.format("允许的最小长度为 {0} 个字符"),
        rangelength: jQuery.validator.format("允许的长度为{0}和{1}之间"),
        range: jQuery.validator.format("请输入介于 {0} 和 {1} 之间的值"),
        max: jQuery.validator.format("请输入一个最大为 {0} 的值"),
        min: jQuery.validator.format("请输入一个最小为 {0} 的值")
    });

    改变错误消息显示样式

    指定label.error的样式就可以了,如下:

    <style type="text/css">

      label.error{

        margin-left: 10px;

        color: red;

      }

    </style>

    说明:label.error指class为error的label元素,如:<label for="resource" class="error">

  • 相关阅读:
    浅谈 cosos2d-x 的ImageView和Sprite的区别
    浅谈JS数据遍历的几种方式
    浅谈Cocos2d-js cc.director
    JavaScript的Let用法
    JS开发工具WebStorm使用快捷键
    python 文件操作
    浅谈代码自动构建工具
    rhel6.4 zabbix 安装时少的bcmath mbstring
    Security:090476]Invalid/unknown SSL header was received from peer locahost during SSL handshake
    jconsole
  • 原文地址:https://www.cnblogs.com/litaiqing/p/5284327.html
Copyright © 2020-2023  润新知