nakumada
(熊田)
1
何を実現したいのかを書きましょう
FormBridgeのjsカスタマイズで、フィールドコード名が「登録者」のサブテーブルがあり、中に、文字列1行でフィールドコード名が「登録者名」の項目があります。
その、登録者名に入力チェックを実装したい。
発生した問題やエラーメッセージを具体的に書きましょう
基本的に仕組みは出来ており、サブテーブルではないフィールドであれば、実装済みです。ただ、サブテーブルの中のフィールドコードを指定する方法がわからないので、教えていただきたいです。
実行したコードをコピー&ペーストしましょう
fb.events.form.created.push(function (state) {
state.fields[7].validations.push({
params: [],
rule: 'custom_validation4'
});
return state;
});
fb.addValidators = function (state) {
return {
custom_validation4: {
getMessage: function ([登録者名], params) {
return '姓と名の間に全角スペースをいれてください';
},
validate: function (value, params) {
// 全角スペースが含まれている場合はバリデーション成功
if (value.includes(' ')) {
return true; // バリデーション成功
}
// 全角スペースが含まれていない場合はバリデーション失敗
return false; // バリデーション失敗
}
},
};
};
})();
aaa
2
過去ログを formbridge テーブル
で検索しました。
FormBridgeでテーブル内フィールドに入力制限を設けたい - kintone カスタマイズ - cybozu developer community
のような例が見つかりました。
過去ログを参考に修正しました。fieldsの番号指定しているところは適宜修正して質問者のフォームに合わせてください。
元のコードに全角スペースを入れてくださいというコメントがあったので全角スペースを検出するようにしています。
(() => {
fb.events.form.created.push((state) => {
// 番号は調整してください
state.fields[0].fields[0].validations.push({
params: [],
rule: 'custom_validation4'
});
return state;
});
fb.addValidators = (state) => ({
custom_validation4: {
getMessage: (fieldCode, params) => '姓と名の間に全角スペースをいれてください',
validate: (value, params) => {
return value.includes(' ')
},
}
});
})();
nakumada
(熊田)
3
ご回答ありがとうございます。
反映することが出来ました。
1 Like
system
(system)
Closed
4
このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。