miniui组合验证问题

miniui是一个组件库,表单验证也有许多自带的验证方式

<input id="laborMoney" name="laborMoney" vtype="float" onvalidation="onvalidation" required="true" class="mini-textbox" style="font-size: 10px;width:120px;" />

这个input框的验证有一个vtype=“float” ,就是只能输入浮点型数字,当然也可以自定义验证方式,onvalidation="onvalidation"这个就是我自己定义的验证方式,但是我发现在自带的验证和自定义的验证共存的时候自定义的会无效,解决方案如下

//换表费用计算
    function onvalidation(e) {
        if (e.isValid){
            if (reg(e.value)==false){
                e.isValid = false;
                e.errorText = "金额精确到分,即两位小数"
            }
        }
        var dataMoney = parseFloat(mini.get('dataMoney').getValue());
        var laborMoney = parseFloat(mini.get('laborMoney').getValue());
        var installMoney = parseFloat(mini.get('installMoney').getValue());
        if (isNaN(dataMoney) || isNaN(installMoney) || isNaN(laborMoney)) return;
        var chargeMoney = (dataMoney + laborMoney + installMoney).toFixed(2);
        mini.get('chargeMoney').setValue(chargeMoney);
    }
    
    //金额验证
    function reg(value) {
        var reg = /^(([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/;
        if (reg.test(value)==true){
            return true;
        }
            return false;
    }

这个组合验证就是先去验证自带的vtype=“float”,如果验证通过就去验证自定义的验证方式,自定义的验证方式不通过则去改变验证结果及errorText 提示信息,我这边的验证大概就是如果输入的不是数字就提示"只能输入数字",如果输入的是数字,但是小数点位超过两位数也不能验证通过,自定义的验证函数可以自己根据自己的需求去定义.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值