ラジオボタンの値によって電話番号のフィールドに入力必須と10桁または11桁のみ許容するバリデーションを実装したいです。
現状入力必須のバリデーションは実装できているのですが、
10桁OR11桁のバリデーションがうまく実装できません。
初心者で申し訳ございませんが実装方法をどなたかご教授いただけますと幸いです。
よろしくお願いします。
(function () {
'use strict';
fb.events.fields.[ラジオボタンのフィールド].changed = [function (state) {
if (state.record.[ラジオボタンのフィールド].value === '希望する') {
state.fields.find(({ code }) => code === [電話番号のフィールド]).validations.push({
params: '',
rule: ['required','validation']
});
fb.addValidators = function (state) {
const telPattern = /^\d{10,11}$/;
const telValue = state.record.[電話番号のフィールド].value;
return {
validation: {
getMessage: function (fieldCode, params) {
return '電話番号は10桁または11桁で入力してください';
},
validate: function (value, params) {
if (!(telValue.match(telPattern))) {
return false;
}
}
}
}
};
}
}];
})();