フォームブリッジで、登録画面から確認画面に遷移する際に、
複数の項目の選択や入力が条件をされていない場合に、エラーメッセージを表示して、登録画面にとどまるように設定したいと考えています。
方法としては、
①エラーチェック用のフィールドを用意し、「必須」「非表示」に設定する
➁確認画面に遷移する前のイベントで、
対象のフィールドをチェックし、条件を満たしていなければ、
エラーメッセージを表示して、①のフィールドを空(Null)にする
➁の時のイベントは、fb.events.form.confirm(確認画面への遷移前)に実装
※遷移前に、必須のフィールドが空になるため遷移しないはず。。。
以下のように実装していますが、①のフィールドが空のまま確認画面に
遷移される状態です。
解決策等、ご意見いただけないでしょうか。
fb.events.form.confirm = [function(state) {
var Value1 = state.record.(ラジオボタン).value;
var Value2 = state.record.(文字列).value;
if (Value1 === ‘条件1’) {
alert(‘エラーメッセージ’);
state.record.ErrorChk.value = null;
}
else if (Value1 === ‘条件2’) {
if (Value2 === ‘(空)’) {
alert(‘エラーメッセージ’);
state.record.ErrorChk.value = null;
}
}
return state;
}];
同じ内容で困っておりまして、
よろしければ解決した別のやり方をお教えいただけないでしょうか。
わたしも同じことで困っています。
確認画面遷移前のチェックは皆様どのようにされているのでしょうか・・・。
お分かりの方教えてください。
同様のことで困っていたのですが、近い操作ができたので、共有いたします。
仮でテキストボックスを用意し、Validationをかけて、ストップをかけることができました。
テキストボックスは非表示でも有効なようでした。
カスタムValidationの正規表現ではチェックできない項目について、入力時にChangeでトリガを拾い、チェック関数を走らせるようにしました。
「fb.events.fields.abc.changed = [function(state){ ・・・ チェック処理」
エラーメッセージはその時に表示させています。
確定で次に行かないように、ストップをかけるためのテキストボックスを用意し、チェック処理の中で値を書き換えます。
「state.record.aaa.value = ‘OK’」
テキストボックスにValidationをかけまして、OKならValidationにひっかからないもの、NGならValidationに引っかかるものを適用し、NGのときは確定時に次にいけないようにします。
「validate: function (value, params) {
return /OK/i.test(value);」
Validationはカスタムでなくても、既存の桁数チェックなどでも代用できそうでした。
上記であれば、「確定で次にいけない」は実現できそうでした。
トリガをチェンジで拾っているので、エラーメッセージが表示されるのは入力時となってしまいます。
こちらでは、最終的にはテキストボックスを別で用意はせず、チェック関数がfalseなら書き換えてほしい箇所の入力をクリアし、必須チェックで次にいけないようにしました。
「いいね!」 1
system
(system)
クローズされました:
6
このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。