お世話になっております。
フォームブリッジでvalidationを設定するときに、「フィールドコード」というフィールドに
validationを設定しているのですが、このvalidationを「フィールドコード1」「フィールドコード2」という2項目に対して設定したい場合、どのように記述すればよいでしょうか?
どなたか教えていただけませんでしょうか?
よろしくお願いいたします。
fb.events.form.created = [function(state) {
// 全フィールドからエラーを出したいフィールドを検索
state.fields.filter(function(field) {
// エラーを出したいフィールド
return ( field.code === ‘フィールドコード’ ) ;
})[0].validations.push({
params: [],
rule: ‘katakana_validation’ // fb.addValidatorsで定義した中から適用したいバリデーション名
});
return state;
}];
「いいね!」 1
aaa
2
フィールドコードをfilterするときに
複数のフィールドコードに対応して A または B
にして、該当した項目にvalidationsをpushしています。
// katakana_validationがなにかわからなかったので
// フォームブリッジ】カタカナのみの入力の制限
// https://community.cybozu.dev/t/topic/5744/2
// を改変
(function () {
'use strict';
fb.addValidators = function (state) {
return {
katakana_validation: {
// エラーメッセージ内容
getMessage: function (fieldCode, params) {
return '全角カタカナで入力してください。';
},
// エラー判定条件
validate: function (value, params) {
// valueは全角カタカナのフィールドに入力された値
value = (value == null) ? "" : value;
if (value.match(/^[ァ-ヶー ]+$/)) {
return true;
} else {
// 全角カタカナ以外が含まれる場合はエラー
return false;
}
}
}
}
};
fb.events.form.created = [function (state) {
// 全フィールドからエラーを出したいフィールドを検索
state.fields.filter(function (field) {
// エラーを出したいフィールド
return field.code === 'A' || field.code === 'B';
}).forEach(function (field) {
field.validations.push({
params: [],
rule: 'katakana_validation' // fb.addValidatorsで定義した中から適用したいバリデーション名
});
});
return state;
}];
})();
「いいね!」 1
system
(system)
クローズされました:
3
このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。