カスタムバリデーションにて以下のように
日付入力Xの値が日付入力AとBの期間に入るようにチェックを行っています。
Xを変更した時は想定どおりの入力チェックが実行されるのですが、
A,Bを変更した際に、A,Bの入力チェックに連動してXの入力チェックを行いたいと考えています。
確認ボタンを押した際にフォーム全体の入力チェックが実行されるようなので、
この処理を呼べれば実現できるように思うのですが、JavaScriptからFormBridgeのフォーム全体の入力チェックを起動することは可能でしょうか。
(() => {
"use strict"
fb.addValidators = (state) => {
return {
custum_date_between: {
getMessage: (fieldCode, params) => {
return `AB期間内の日を入力してください`
},
validate: (value, params) => {
const startDate = state.record["A"].value
const endDate = state.record["B"].value
if (!startDate) return true
if (!endDate) return true
if (startDate <= value && value <= endDate) return true
return false
},
},
}
}
fb.events.form.created = [(state) => {
const target = state.fields.find((item) => {
return item.code === "X"
})
target.validations.push({
params: [],
rule: "custum_date_between",
})
}]
})()