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

チェックボックスで項目Aがチェックされたら、入力項目Bを必須にし

項目Aのチェックが外れたら、入力項目Bの必須を解除する機能を実装したいと考えております。

以下で入力項目Bを必須にすることは実現できたのですが、

state.fields[7].validations.push({rule: ‘required’});

必須を解除する方法が、わからず困っております。

ご教示いただけると助かります。

どうぞ、よろしくお願いいたします。

お世話になっております。

トヨクモの友利と申します。

以下のコードで実現可能です。

(function() {
    "use strict";

    const field_code = "text";
    const checkbox = "checkbox";
    const targetValue = 'A'

    fb.events.fields[checkbox].changed.push(function (state) {
        if (state.record[checkbox].value.some(e => e === targetValue)) {
            state.fields.forEach(el => {
                if (el.code !== field_code) return;
                if (!el.validations.some(a => a.rule === 'required')) {
                    el.validations.push({rule: 'required'});
                }
            })
        } else {
            state.fields.forEach(el => {
                if (el.code !== field_code) return;
                el.validations = el.validations.filter(a => a.rule !== 'required');
            })
        }
        return state;
    })
})();

トヨクモ 友利様

ご回答をいただき、ありがとうございます!

上記、参考にさせて頂きます。

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。