yii 前端js动态添加验证规则

在使用 activeForm 生成表单及验证时,默认是按照 model 里的 rules 生成js验证,model 验证在加载完页面后生效,不可修改,如果需要扩展、动态验证,需要使用js来配合

直接上Dome吧:

$('#returnmanualform-refundway input[type="radio"]').on('click', function(){
    if($(this).is(':checked') && $(this).val()==3){
        $('.account-info').removeClass('hidden');

        // 添加验证规则
        $('#w0').yiiActiveForm('add', {
            "id": "returnmanualform-bankname",
            "name": "bankName",
            "container": ".field-returnmanualform-bankname",
            "input": "#returnmanualform-bankname",
            "validate": function(attribute, value, messages, deferred, form) {
                yii.validation.required(value, messages, { "message": "转账银行不能为空。" });
            }
        });

        $('#w0').yiiActiveForm('add', {
            "id": "returnmanualform-bankaccount",
            "name": "bankAccount",
            "container": ".field-returnmanualform-bankaccount",
            "input": "#returnmanualform-bankaccount",
            "validate": function(attribute, value, messages, deferred, form) {
                yii.validation.required(value, messages, { "message": "转账账号不能为空。" });
            }
        });

        $('#w0').yiiActiveForm('add', {
            "id": "returnmanualform-bankusername",
            "name": "bankUserName",
            "container": ".field-returnmanualform-bankusername",
            "input": "#returnmanualform-bankusername",
            "validate": function(attribute, value, messages, deferred, form) {
                yii.validation.required(value, messages, { "message": "用户名不能为空。" });
            }
        });
    }else{
        $('.account-info').addClass('hidden');

        // 移除验证规则
        $('#w0').yiiActiveForm('remove', "returnmanualform-bankname");
        $('#w0').yiiActiveForm('remove', "returnmanualform-bankaccount");
        $('#w0').yiiActiveForm('remove', "returnmanualform-bankusername");
    }
});

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值