Ajax实例(二)Validform表单验证插件的应用

一、nanjinonline项目,newborrow.html产品发布页。应用了Validform表单验证插件

Validform插件官网地址  http://validform.rjboy.cn/document.html

<script>
    $(function() {
        var demo = $("#borrow_application").Validform({
            tiptype: 4, //侧边提示,在当前元素的父级的next对象下查找显示提示信息的对象
            showAllError: true, //所有的出错都会提示
            //传入自定义datatype类型,可以是正则,也可以是函数。
            datatype: {
                "jknll": /^(8|9|10|11|12|13|14|15|16|17|18)(\.\d{0,2})?$/,
                //checkbox的datatype="need2" <input type="checkbox" datatype="need2"
                "need2": function(gets, obj, curform, regxp) {
                    var need = 1,
                            numselected = curform.find("input[name='" + obj.attr("name") + "']:checked").length;
                    return  numselected >= need ? true : "请勾选同意该协议!";
                },
                //借款手续费的datatype="chkfee";<input type="text"  datatype="chkfee"/>(介于0.0000-1.0000之间)
                //起投金额的datatype="chknum"(起投金额必须是100的倍数!)
                "chknum": /^[1-9][0-9]*00$/,
                "chkfee": /^(0|1|0\.[0-9][0-9][0-9][0-9]{0,1}|1\.0|1\.00|1\.000|1\.0000)$/
            },
            ajaxPost: true, //使用ajax方式提交表单数据
            callback: function(data) {
                if (data.status == "y") {
                    alert('产品发布成功,请等待核准!');
                    location.href = "http://www.nanjinsuo.com.cn/?user";
                }
                else {
                    alert('产品发布失败,请稍后再试!');
                }
                //location.href="index.php?borrowcollect&borrowtype=1";
                location.href = "http://www.nanjinsuo.com.cn/?user";
            }
        });
        //通过$.Tipmsg扩展默认提示信息;
        $.Tipmsg.w["jknll"] = "请输入8.00-18.00之间的数字!";
//给id=borrow_apr绑定规则。他的datatype=jknull
        demo.addRule([{
                ele: "#borrow_apr",
                datatype: "jknll"
            }]);
        //用dialog打开一个弹框,显示协议
        $("#borrow-readneed").dialog({
            title: "产品协议",
            width: 900,
            height: 800,
            content: 'url:/?user&q=code/borrow/borrowapptender',
            max: false,
            min: false,
            lock: true
        });
    })
</script>

问题:

1.在validform.js中有 “    s:"请填入信息!"    ”,但我没找到这个js在哪里调用他们来验证每一个框。。

参数说明:【所有参数均为可选项】

  • 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对象。

  • showAllError


    可用值: true | false。
    默认为false,true:提交表单时所有错误提示信息都会显示;false:一碰到验证不通过的对象就会停止检测后面的元素,只显示该元素的错误信息;

datatype


传入自定义datatype类型,可以是正则,也可以是函数。

datatyp:{
    "zh2-4":/^[\u4E00-\u9FA5\uf900-\ufa2d]{2,4}$/,
    "phone":function(gets,obj,curform,regxp){
        //参数gets是获取到的表单元素值,
        //obj为当前表单元素,
        //curform为当前验证的表单,
        //regxp为内置的一些正则表达式的引用。
        
        //return false表示验证出错,没有return或者return true表示验证通过。
    }
}

  • ajaxPost

    可用值: true | false。
    默认为false。。。

    使用ajax方式提交表单数据,将会把数据POST到config方法或表单action属性里设定的地址;

callback

在使用ajax提交表单数据时,数据提交后的回调函数。返回数据data是Json对象
{"info":"demo info","status":"y"}
info: 输出提示信息,
status: 返回提交数据的状态,是否提交成功,"y"表示提交成功,"n"表示提交失败,在ajax_post.php文件返回数据里自定字符,主要用在callback函数里根据该值执行相应的回调操作。你也可以在ajax_post.php文件返回更多信息在这里获取,进行相应操作;
如果不是ajax方式提交表单,传入callback,这时data参数是当前表单对象,回调函数会在表单验证全部通过后执行,然后判断是否提交表单,如果callback里return false,则表单不会提交,如果return true或没有return,则会提交表单。

location.href的详细解答见:http://www.360doc.com/content/14/0406/18/16488544_366820872.shtml

150532_TWFs_1456671.jpg

addRule(rule)【返回值:Validform】

可以通过Validform对象的这个方法来给表单元素绑定验证规则,绑定验证类型中列出的附加属性都可以通过这个方法绑定。

demo.addRule([
    {
        ele:"#name",
        datatype:"s6-18",
        ajaxurl:"valid.php",
        nullmsg:"请输入昵称!",
        errormsg:"昵称至少6个字符,最多18个字符!"
    },
    {
        ele:"#userpassword",
        datatype:"*6-16",
        nullmsg:"请设置密码!",
        errormsg:"密码范围在6~16位之间!"
    },
    {
        ele:"#userpassword2",
        datatype:"*",
        recheck:"userpassword",
        nullmsg:"请再输入一次密码!",
        errormsg:"您两次输入的账号密码不一致!"
    }
]);

中ele是指定要绑定规则的对象,会在Validform对象下查找这些对象。

$.Tipmsg详细见validform官网

可以通过$.Tipmsg对象来修改默认提示文字。具体可修改的提示文字请查看Validform对象的tipmsg属性。

如果Validform对象的tipmsg属性没有找到相关的提示信息,那么就会到$.Tipmsg中查找对应提示文字。

如$.Tipmsg.tit="msg box"; //设置默认弹出框的标题文字。


转载于:https://my.oschina.net/yuanyichuan/blog/415909

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值