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");
        }
    });
  • 相关阅读:
    nextSibling VS nextElementSibling
    线程实现连续启动停,并在某一时间段内运行
    线程:安全终止与重启
    监控知识体系
    后台服务变慢解决方案
    Java泛型类型擦除以及类型擦除带来的问题
    常见的 CSRF、XSS、sql注入、DDOS流量攻击
    Spring对象类型——单例和多例
    一次线上OOM过程的排查
    深入浅出理解基于 Kafka 和 ZooKeeper 的分布式消息队列
  • 原文地址:https://www.cnblogs.com/tujia/p/7818923.html
Copyright © 2011-2022 走看看