FormBridgeでテーブル内フィールドに入力制限を設けたい

FormBridgeのテーブル(フィールドコード:テーブル)にある文字列フィールド(フィールドコード:電話番号)に入力されたデータに”ハイフンが含まれていなかったら"エラーを表示するjavascriptを記述したいです。

下記コードでテーブル外であれば動作しますが、テーブル内では動作しません。
フィールドコードの指定方法など対応策を教えていただけますでしょうか。

(function () {
 
    'use strict';
 
    // FormBridgeが開かれた時のイベント
    fb.events.form.created.push(function (state) {
 
        state.fields.find(field => field.code === '電話番号').validations.push({ 
            params: [],
            rule: 'tel_err_event'
        });

        return state;

    });
    
    // 条件設定
    fb.addValidators = function (state) {
 
        // エラーメッセージ定義
        const TEL_ERR_MSG = "電話番号には半角ハイフンを入力してください"
 
        return {
 
            tel_err_event: {
                
                // フィールド直下に表示されるエラーメッセージの設定
                getMessage: function (fieldCode, params) {
                    return TEL_ERR_MSG;
                },
 
                // エラーメッセージ表示/非表示設定
                validate: function (value, params) {
 
                    let ok_flg = false

                    // ハイフンが含まれていない場合はエラー
                    if(varsample.indexOf('-') !== -1){
                        ok_flg = true
			
                    }
                  
                    return ok_flg;
 
                }
 
            },

        };
    };
 
})();

テーブル内のフィールドは、テーブルのフィールドコードと項目のフィールドコードの両方を指定する必要があります。

(() => {
    // FormBridgeが開かれた時のイベント
    fb.events.form.created.push((state) => {
        console.log(state)
        // この数字を合わせる方法もあります。
        //state.fields[3].fields[0].validations.push({

        const tableField = state.fields.find(field => field.code === 'table');
        const phoneField = tableField.fields.find(item => item.code === '電話番号');

        phoneField.validations.push({
            params: [],
            rule: 'tel_err_event'
        });
        return state;
    });

    // 条件設定
    fb.addValidators = (state) => {
        // エラーメッセージ定義
        const TEL_ERR_MSG = "電話番号には半角ハイフンを入力してください"
        return {
            tel_err_event: {
                // フィールド直下に表示されるエラーメッセージの設定
                getMessage: (fieldCode, params) => TEL_ERR_MSG,

                // エラーメッセージ表示/非表示設定
                validate: (value, params) => {
                    let ok_flg = false
                    // ハイフンが含まれていない場合はエラー
                    if (value.indexOf('-') !== -1) {
                        ok_flg = true
                    }
                    return ok_flg;
                }
            },
        };
    };
})();

「いいね!」 1

ありがとうございます。解決できました!

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