Customineで提供しているエラーを表示するやることは、大きく分けて三つの種類があります。
フィールドにエラーを表示する、レコードにエラーをセットする、エラーダイアログを表示するの三種類です。
エラーを表示する場合、ユーザーにフィールドへの入力ミスなど操作の誤りを伝えるとともに、レコードの保存やプロセス管理のステータスが変更されるのを中断したい場合が多いと思います。
そういった場合、それぞれの やること の特性や、組み合わせる 条件 によって、できること・できないことがあるため、目的に合った組み合わせでカスタマイズする必要があります。
フィールドにエラーを表示する
フィールドエラーを表示する など、 エラーチェック カテゴリーにある、「レコードにエラーをセットする」以外のやること
フィールドにエラーをセットするやることは、エラーのチェック内容によって様々なものが提供されています。
フィールドにエラーをセットした場合、レコード保存直前のタイミングであればレコードの保存は中断できますが、プロセス管理のステータス変更はタイミングを問わず中断できません。
フィールドエラーの場合、対象となるフィールドの値が変わった「フィールドの値を編集して値が変わった時」のタイミングでエラーを表示することが多いです。
ただ、フィールドの値が変わったタイミングでエラーを表示した後、入力された値が修正されないままレコードの保存に進んだ場合、レコードはそのまま保存できてしまいます。
そのため、「フィールドの値を編集して値が変わった時」に加えて、レコード保存直前のタイミングでも同じエラーチェックを行うアクションが必要になります。
レコードにエラーをセットする
「レコードにエラーをセットする」は、個々のフィールドではなくレコードそのものにエラーをセットします。
実行すると、上記のようにkintoneアプリの画面上部にエラーメッセージが表示されます。
条件にレコード保存直前のタイミングを指定すると、レコードの保存を中断できます。
また、条件「プロセス管理のアクションを実行した時」と組み合わせると、プロセス管理のアクションのステータス変更も中断できます。
エラーダイアログを表示する
「エラーダイアログを表示する」は、上記のようなダイアログを表示するだけで、レコードの保存キャンセルやプロセス管理のステータス変更キャンセルは行いません。
そのため保存をキャンセルしたい場合は、ダイアログの表示と やること「レコードにエラーをセットする」を組み合わせて使用します。
「エラーダイアログを表示して保存をキャンセルする」は、単体でエラーダイアログの表示と保存の中断を両方行えますので、ダイアログの表示と共にレコードの保存を中断したい場合はこちらを使用する方が便利です。
エラー表示の条件について
エラーの表示と共にレコードの保存を中断したい場合は、レコード保存直前の条件を指定してください。
例えば下記のやることです。
保存直前の条件であれば、まだレコードは保存されていませんので中断できます。
保存直後の条件では、すでにレコードは保存済みですので中断できません。
また、「フィールドの値を編集して値が変わった時」のタイミングでもエラーを表示することができますが、このタイミングでセットしたエラーはレコード保存時には使用できません。
フィールドに値がセットされたタイミングでエラーを表示しつつ、適切な値が入力されていなければレコードの保存も中断したい場合は、エラー表示のやることを指定したアクションを、「フィールドの値を編集して値が変わった時」と「レコードを保存する直前(削除時は除く)」それぞれ一つずつ作成し、両方でエラーが表示されるようにカスタマイズしてください。
表にまとめると下記です。
ご不明点等ございましたら、チャットにてご質問ください。
Customineドキュメントやサポートページもぜひご活用ください。