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