【フォームブリッジ】必須項目の必須解除・再付与について

【実現したい事】

ラジオボタンにてA,Bのどちらかを選んだとき、

特定のフィールドの必須項目を解除したり、再度必須項目にしたい。

 

特定のフィールドは配列でまとめておき、

下記の関数でフィールドを特定したのち「必須項目」か「通常項目」に変える。

//必須項目付与・解除の関数

function field_required_change(state,field_required_arry,field_arry){

        for(var i = 0; i < state.fields.length;i++){

            var event_field = state.fields[i];

            //必須項目フィールドの配列に登録したフィールド名とevent_field.codeが一致したら、必須項目付与の作業を行う

            if(field_required_arry.includes(event_field.code)){

                var row_class_name = document.getElementsByClassName(‘row’)[event_field.rowCount].childNodes[0].className;

                console.log(document.getElementsByClassName(‘row’)[event_field.rowCount].childNodes[0])

                if (!event_field.validations.some(a => a.rule === ‘required’)) {

                    event_field.validations.push({rule: ‘required’});

                    // event_fieldのrequiredオプションで、必須項目に切り替え

                    event_field.required = true;

                }

             //通常項目フィールドの配列に登録したフィールド名とevent_field.codeが一致したら、必須項目解除の作業を行う    

            }else if(field_arry.includes(event_field.code)){

                event_field.validations = event_field.validations.filter(a => a.rule !== ‘required’);

                // event_fieldのrequiredオプションで、通常項目に切り替え

                event_field.required = false;

    }

}

}

動作例

フィールドA群 [A,B,C]

フィールドB群 [D,E]

チェックボックス(AまたはB)

Aを選んだ場合:必須フィールド [A,B,C] 通常フィールド[D,E]

Bを選んだ場合:必須フィールド[D,E] 通常フィールド [A,B,C]

【現状の挙動】

現状、画面上では必須項目のフィールドに表示される*が消え

HTML上でもクラス名が「 ‘column el-form-item field required’(必須項目)」または

「 ‘column el-form-item field’(通常項目)」に切り替わるのは確認済みです。

【問題の挙動】

①必須項目から通常項目に切り替えたフィールドを空欄のまま回答すると

「必須項目です」のvalidationが表示されます。

②通常項目になるようclassNameを 'column el-form-item field’に切り替える指示も加えましたが、通常項目に切り替えたフィールドに空欄があると 'column el-form-item field error’に切り替わります

validation、.requiredで必須項目は解除しているのですが何故エラーが出るのかが分かりません。解決策を教えてください。