はじめに
kintone の基本機能で以下のように「必須項目にする」にチェックを入れた場合、レコード保存時にそのフィールドが未入力の状態だとエラーとなり保存できません。
このように、kintoneの基本機能だけでは「特定のステータスのときのみ必須にしたい」「別のフィールドの値が A の場合は必須にしたい」など特定の条件の時のみ入力を必須とさせる事はできません。
ですがカスタマインであれば、やること「必須チェックを行う」を用いる事で特定の条件に該当する時のみ入力必須となるようなチェックを実現する事ができます。
今回はフィールドの値がある値であった時のみ、入力が必須となるようにフィールドを制御する、いわゆる条件付き必須チェックをカスタマイズで作成する例をご紹介します。
ここまでの記事(「条件付き必須チェックを実現するkintoneのカスタマイズ」や「承認者がプロセス管理の「承認」アクションを実行する際に必須チェックを行う」で)でご紹介した内容は、1つのフィールドのみを対象とした必須チェックですが、複数あるフィールドのうちいずれか1つのフィールドを必須にしたい場合はどうすればよいのでしょうか?
アプリの準備
このカスタマイズでは、アプリストアにある「案件管理」を利用します。
※使うのは赤枠で囲ったフィールド3つです。
また、アプリストアにある「案件管理」を使うときは、各フィールド(TEL、FAX、メールアドレス)についてはフィールドコードをフィールド名と同じものに変更してください。
自分で作る時は次のようにアプリを作成してください。
※フィールド名とフィールドコードは同じものを指定
カスタマイズ
カスタマイズは次の1アクションです。
やること「複数フィールドのうち少なくとも1つを必須にする」、条件「レコードを保存する直前(削除時は除く)」を使います。
「やること」の「フィールド」にTEL、FAX、メールアドレスを設定してください。
「kintoneアプリへ登録」して頂くと、次のように保存する際に 3つのフィールドいずれかが必須となるようにチェックが行われます。
コラム:フィールドエラーとレコードエラーの違い
この記事や、記事「条件付き必須チェックを実現するkintoneのカスタマイズ」、「承認者がプロセス管理の「承認」アクションを実行する際に必須チェックを行う」でご紹介したように、エラーを設定する際にはやること「必須チェックを行う」や、やること「レコードにエラーをセットする」を用いますが、それぞれの「やること」でエラーの表示方法が異なることに気づかれたかと思います。
やること「必須チェックを行う」では、以下のようにフィールドの下部にエラーが表示されます。これをkintoneでは「フィールドエラー」と呼び、やること「フィールドエラーを表示する」でも同様にフィールドエラーを出すことができます。
また、やること「レコードにエラーをセットする」では、次のようにレコードの上部にエラーが表示されます。これを kintone では「レコードエラー」と呼びます。
これら2つのエラーは表示する場所の違いだけではなく、使用できるシーンが異なります。
フィールドエラーは該当のフィールド直下にエラーが表示されるため、ユーザーが気づきやすいという利点がありますが、1つ前の記事「承認者がプロセス管理の「承認」アクションを実行する際に必須チェックを行う」で記載したようにプロセス管理の承認時には、やること「必須チェックを行う」や、やること「フィールドエラーを表示する」を使用することはできません。そのため、用途やシーンに応じて使い分ける必要があります。
おわりに
この記事では、複数あるフィールドのうちいずれか1つのフィールドを必須にしたい場合についてお伝えしました。カスタマインでは、より運用に沿った必須入力のコントロールを簡単に実現する事ができます。
条件については更に複数のフィールドや条件を組み合わせたようなものも追加することができますので、ぜひお試しください。
また、ご不明点等ございましたら、チャットにてご質問ください!