@官网http://validform.rjboy.cn/

  valid  adj  有效的; 有法律效力的; 正当的; 健全的
  validform    翻译即为有效表单

@使用教程
1,head中引入css和js文件
 <link href="css/Validform_v5.3.2_min.css" rel="stylesheet">  
<script src="js/Validform_v5.3.2_min.js"></script>
---给需要验证的表单元素绑定附加属性
<form class="demoform">
    <input type="text" value="" name="name" datatype="s5-16" errormsg="昵称至少5个字符,最多16个字符!" />
</form>
---js初始化,就这么简单
<script type="text/javascript">
    $(".demoform").Validform();  //必须,否则不验证。
</script>
2,备注
(1)、Validform有非压缩、压缩和NCR三个版本提供下载,NCR是通用版,当你页面因编码问题,提示文字出现乱码时可以使用这个版本;
(2)、Validform没有限定必须使用table结构,它可以适用于任何结构,需要在tiptype中定义好位置关系。


@Validform对象重要属性---仅供参考:
1,btnSubmit:"#btn_sub", //#btn_sub是该表单下要绑定点击提交表单事件的按钮;如果form内含有submit按钮该参数可省略;
2,tiptype:1, //可选项 1=>pop box(弹出框),2=>side tip(parent.next.find; with default pop)(不用),
    3=>side tip(siblings; with default pop)(元素侧边显示错误信息),4=>side tip(siblings; none pop)(元素侧边显示错误信息),默认为1,
    也可以传入一个function函数,自定义提示信息的显示方式(可以实现你想要的任何效果,具体参见demo页);
    ---pop box翻译成中文,即弹出框的意思。
    tiptype
    可用的值有:1、2、3、4和function函数,默认tiptype为1。 3、4是5.2.1版本新增
    1=> 自定义弹出框提示;
    2=> 侧边提示(会在当前元素的父级的next对象的子级查找显示提示信息的对象,表单以ajax提交时会弹出自定义提示框显示表单提交状态);
    3=> 侧边提示(会在当前元素的siblings对象中查找显示提示信息的对象,表单以ajax提交时会弹出自定义提示框显示表单提交状态);
    4=> 侧边提示(会在当前元素的父级的next对象下查找显示提示信息的对象,表单以ajax提交时不显示表单的提交状态);
    如果上面的4种提示方式不是你需要的,你可以给tiptype传入自定义函数。通过自定义函数,可以实现你想要的任何提示效果:

    tiptype:function(msg,o,cssctl){
        //msg:提示信息;
        //o:{obj:*,type:*,curform:*},
        //obj指向的是当前验证的表单元素(或表单对象,验证全部验证通过,提交表单时o.obj为该表单对象),
        //type指示提示的状态,值为1、2、3、4, 1:正在检测/提交数据,2:通过验证,3:验证失败,4:提示ignore状态,
        //curform为当前form对象;
        //cssctl:内置的提示信息样式控制函数,该函数需传入两个参数:显示提示信息的对象 和 当前提示的状态(既形参o中的type);
    }
    具体参见demo页。

    tiptype不为1时,Validform会查找class为"Validform_checktip"的标签显示提示信息。tiptype=1时,会自动创建弹出框显示提示信息。
    Validform_checktip和表单元素之间的位置关系,会根据tiptype的值有对应的结构,上面已经做了说明。
    5.3版本开始,如果页面里没有显示出错信息的标签,会根据tiptype值自动创建Validform_checktip对象。
3,tipSweep:true,//可选项 true | false 默认为false,只在表单提交时触发检测,blur事件将不会触发检测(实时验证会在后台进行,不会显示检测结果);
4,showAllError:false,//可选项 true | false,true:提交表单时所有错误提示信息都会显示,
    false:一碰到验证不通过的就停止检测后面的元素,只显示该元素的错误信息;
5,postonce:true, //可选项 表单是否只能提交一次,true开启,不填则默认关闭;
6,datatype:{//传入自定义datatype类型,可以是正则,也可以是函数(函数内会传入一个参数);
            "*6-20": /^[^\s]{6,20}$/,
            "z2-4" : /^[\u4E00-\u9FA5\uf900-\ufa2d]{2,4}$/,
            "username":function(gets,obj,curform,regxp){
                //参数gets是获取到的表单元素值,obj为当前表单元素,curform为当前验证的表单,regxp为内置的一些正则表达式的引用;
                var reg1=/^[\w\.]{4,16}$/,
                    reg2=/^[\u4E00-\u9FA5\uf900-\ufa2d]{2,8}$/;
                
                if(reg1.test(gets)){return true;}
                if(reg2.test(gets)){return true;}
                return false;
                
                //注意return可以返回true 或 false 或 字符串文字,true表示验证通过,返回字符串表示验证失败,字符串作为错误提示显示,返回false则用errmsg或默认的错误提示;
            },
            "phone":function(){
                // 5.0 版本之后,要实现二选一的验证效果,datatype 的名称 不 需要以 "option_" 开头;    
            }
        }
---datatype有三种情况:正则,函数和直接绑定的正则;看源代码518行。
7,beforeCheck:function(curform){
            //在表单提交执行验证之前执行的函数,curform参数是当前表单对象。
            //这里明确return false的话将不会继续执行验证操作;    
        },
8,beforeSubmit:function(curform){
            //在验证成功后,表单提交前执行的函数,curform参数是当前表单对象。
            //这里明确return false的话表单将不会提交;    
        },
9,callback:function(data){
            //返回数据data是json格式,{"info":"demo info","status":"y"}
            //info: 输出提示信息;
            //status: 返回提交数据的状态,是否提交成功。如可以用"y"表示提交成功,"n"表示提交失败,在ajax_post.php文件返回数据里自定字符,主要用在callback函数里根据该值执行相应的回调操作;
            //你也可以在ajax_post.php文件返回更多信息在这里获取,进行相应操作;
            //ajax遇到服务端错误时也会执行回调,这时的data是{ status:**, statusText:**, readyState:**, responseText:** };
            
            //这里执行回调操作;
            //注意:如果不是ajax方式提交表单,传入callback,这时data参数是当前表单对象,回调函数会在表单验证全部通过后执行,然后判断是否提交表单,如果callback里明确return false,则表单不会提交,如果return true或没有return,则会提交表单。
        }
10,Validform对象的方法和属性
    tipmsg:自定义提示信息,通过修改Validform对象的这个属性值来让同一个页面的不同表单使用不同的提示文字;
    dataType:获取内置的一些正则;
    eq(n):获取Validform对象的第n个元素;
    ajaxPost(flag,sync,url):以ajax方式提交表单。flag为true时,跳过验证直接提交,sync为true时将以同步的方式进行ajax提交,传入了url地址时,表单会提交到这个地址;
    abort():终止ajax的提交;
    submitForm(flag,url):以参数里设置的方式提交表单,flag为true时,跳过验证直接提交,传入了url地址时,表单会提交到这个地址;
    resetForm():重置表单;
    resetStatus():重置表单的提交状态。传入了postonce参数的话,表单成功提交后状态会设置为"posted",重置提交状态可以让表单继续可以提交;
    getStatus():获取表单的提交状态,normal:未提交,posting:正在提交,posted:已成功提交过;
    setStatus(status):设置表单的提交状态,可以设置normal,posting,posted三种状态,不传参则设置状态为posting,这个状态表单可以验证,但不能提交;
    ignore(selector):忽略对所选择对象的验证;
    unignore(selector):将ignore方法所忽略验证的对象重新获取验证效果;
    addRule(rule):可以通过Validform对象的这个方法来给表单元素绑定验证规则;
    check(bool,selector):对指定对象进行验证(默认验证当前整个表单),通过返回true,否则返回false(绑定实时验证的对象,格式符合要求时返回true,而不会等ajax的返回结果),bool为true时则只验证不显示提示信息;
    config(setup):可以通过这个方法来修改初始化参数,指定表单的提交地址,给表单ajax和实时验证的ajax里设置参数;    
   

posted on 2015-11-22 20:38  学到老死  阅读(596)  评论(0)    收藏  举报