• jquery插件-表单验证插件-validator对象


    三 Validator对象

    1、介绍:Validate方法返回的对象称作Validator对象

    2、使用

    Validator对象常用方法

      Validator.form()  

        返回:Boolean

        验证:form返回成功还是失败(整个表单)

      Validator.element()

        返回:Boolean

        验证单个元素是成功还是失败(单个的表单元素)

      Validator.resetForm()

        把前面验证的Form回复到验证前的状态
      Validator.showErrors()

        显示特定的错误信息

      Validator.numberOfInvalids()

        返回验证不通过的字段数

     静态方法(只要引入了Validator的js就可以直接使用,不需要再获取validator对象,通常使用来做配置的)

      jQuery.validator.setDefaults()

         改变默认的配置

      jQuery.validator.addClassRules()

        增加组合验证类型,可以在一个css类里面用多种验证规则   

      jQuery.validator.format()

        用参数代替模板中的{n}

      jQuery.validator.addMethod

        添加一个新的验证方法(可以是自定义的)

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    <script type="text/javascript" src="../js/jquery-1.12.1.js"></script>
    <script type="text/javascript" src="../js/validation/jquery.validate.js"></script>
    <script type="text/javascript" src="../js/validation/messages_zh.js"></script>
    <script type="text/javascript">
        $.validator.setDefaults({
            debug:true
            });
        $.validator.addClassRules({
            sunshengli:{
                required:true,
                rangelength:[3,9]
            }
            });
        /**param1:参数似乎规则的名字
         *param2:函数:验证的函数
         *param2:value
         */
        $.validator.addMethod('sifangku',function(value,element,args){
            if (args) {
                return /^[a-zA-Z_][a-zA-Z_0-9]*/.test(value);
            }else
            {
                //不验证
                return true;
            }
            
            },"这里是错误提示-对不起没有通过sifangku验证,element指的是filed对象");
        
        $(document).ready(function()
        {
            
            var validator = $("#form1").validate({
                rules: {
                    field1:{
                        required:true,
                        rangelength:[4,6],
                        sifangku:true
                    }
                },
                messages:{
                    
                    field1:{
                        required:'field1不能为空',
                        rangelength:'field1的长度必须子{0}与{1}之间',
                        
                        
                        /*{0}取的是上述属性的第一个值,{1}取的是上述属性的第二个值  */
                    }
                    
                },
                invalidHandler:function(event,validator){
                    console.log('对不起您有'+validator.numberOfInvalids()+"个字段没有通过验证");
                }
                 
                
            });
            $("button.form").click(function(){
                console.log(validator.form());
                });
            $("button.element").click(function(){
                console.log(validator.element('#form1 input:eq(0)'));
                });
            $("button.resetForm").click(function(){
                validator.resetForm();
                });
            $("button.showErrors").click(function(){
                validator.showErrors({
                    field1:'fieldHasError'
                    });
                });
            
            $("button.numberOfInvalids").click(function(){
                console.log(validator.numberOfInvalids());
            });
            //演示$.validator.format的其他用途
            var urls = [
                        {
                            url:'http://www.baidu.com',
                            name:'baidu'
                        },
                        {
                            url:'http://taobao.com',
                            name:"taobao"
                        }
                        ];
            var html="";
            for(var i = 0; i < urls.length;i++)
            {
                html +='<br><a href='+urls[i].url+'>'+urls[i].name+'</a>';
            }
            $('body').append(html);
            //用$.validator.format实现
            var temp =$.validator.format('<br><a href={0}>{1}</a>');
            var html1="";
            for(var i = 0; i < urls.length;i++)
            {
                html1+=temp(urls[i].url,urls[i].name);
            }
            $('body').append(html1);
                
        });
        //模板方法,占位符
        var template = $.validator.format('{0}-的-{1}');
        ///alert(template('小明','皮卡球'))
    </script>
    <style type="text/css">
    form {
        margin: 10px 100px 10px 100px;
    }
    </style>
    </head>
    <body>
    
        <form id="form1">
            
            <div>
                field1:<input type="text" name="field1" />
            </div>
            <div>
                field2:<input type="text" name="field2" class="sunshengli"/>
            </div>
            <div>
                 <input type="submit" name="submit" value="submit"/>
            </div>
        </form>
        <button class="form">Validator.form()</button>
        <button class="element">Validator.element()</button>
        <button class="resetForm">Validator.resetForm()</button>
        <button class="showErrors">Validator.showErrors()</button>
        <button class="numberOfInvalids">Validator.numberOfInvalids()</button>
        
    </body>
    </html>

        

      

  • 相关阅读:
    freeswitch录音功能
    jdk安装
    maven阿里云镜像
    idea安装
    idea新建maven项目
    tomcat安装
    idea新建maven web项目
    idea新建java项目
    webpack使用
    ACE 安装指南及示例
  • 原文地址:https://www.cnblogs.com/rocky-AGE-24/p/5271590.html
Copyright © 2020-2023  润新知