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");
    }
});

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM