zoukankan      html  css  js  c++  java
  • 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");
        }
    });
  • 相关阅读:
    js面试相关
    邮件(一):Springboot+thymeleaf的发邮件部分
    饿了么组件--table组件自定义渲染列,同时伴有v-for和v-if情况
    java开发规范学习
    java发送邮件
    vue垂死挣扎--遇到的问题
    vue学习记录
    matlab---设置背景颜色为白色
    Git push时不需要总输入密码
    我不知道的js(一)作用域与闭包
  • 原文地址:https://www.cnblogs.com/tujia/p/7818923.html
Copyright © 2011-2022 走看看