郵便番号や電話番号、メールアドレスなどの連絡先情報の入力内容に誤りがあると、必要な時に大変困りますよね?
今回はそれぞれのフィールドで書式チェックを行い、ミスを減らしてあげるカスタマイズをご紹介します!
Customineの基本的な事柄は、こちらの「はじめてのカスタマイズ」をご参照ください。
アプリのフォーム
アプリはkintone アプリストア の「顧客リスト」アプリを使います。
※今回使うフィールドは「郵便番号(数字のみ)」「TEL(数字のみ)」「FAX(数字のみ)」「住所」「メールアドレス」の5つだけとなります。
Customineの設定
郵便番号のチェック
やること
「郵便番号から住所を検索する」を使用します。
本来の機能は、入力した郵便番号から住所を検索し、自動で入力することですが、単純に正しい郵便番号かどうかをチェックすることにも使えます。
この時、上のカスタマイズ画面キャプチャのように、住所を入力するフィールドを指定していなくてもチェックが行われます!
条件
今回は郵便番号が入力されたときにチェックしてほしいので、「フィールドの値を編集して値が変わった時」を使用します。
また、郵便番号を空にしたときにはチェックしなくていいので、「フィールド値が空でないならば」で「郵便番号」を選択し、条件を絞りましょう。
まずはこの場合のカスタマイズを作成してみてください。
7桁の半角数字(ハイフンは含んでも含まなくてもよい)でなければ、「郵便番号の指定が正しくありません」のダイアログが表示されます。
また、7桁の半角数字であっても、存在しない郵便番号なら、「郵便番号[○○○○]は見つかりませんでした」のダイアログが表示されます。
もちろん、住所を入力するフィールドを指定すれば、自動で住所を入力します。そのほうが便利ですよね!
これで、住所が自動で入力されるようになりました。
なお今回は住所を一つのフィールドに入力していますが、「都道府県」「市区町村」「町域」等いくつかのフィールドに分けて入力することもできます。
郵便番号が空になった時のクリア
郵便番号が空になったら住所も空になるアクションも付け加えておきましょう。
やることは「フィールド値をクリアする」を、条件は「フィールドの値を編集して値が変わった時」「フィールド値が空ならば」を使います。
これで郵便番号が空になったら住所も空になるはずです。
電話番号のチェック
やること
「電話番号書式をチェックする」を使います。
半角数字または半角ハイフン、+以外が入力されていると、フィールドにエラーを表示します。(+は先頭のみ)
また、条件を満たすとエラーをクリアします。
条件
先ほどと同じく、「フィールドの値を編集して値が変わった時」「フィールド値が空でないならば」を使い、編集して値が変わり、かつ空でないときに設定しましょう。
レコード保存直前にもチェックを入れましょう。
3番のアクションを複製して、1つ目の条件を「レコードを保存する直前(削除時は除く)」に変換するだけでOKです!
また、「電話番号書式をチェックする」はレコード保存直前に実行したとき、エラーと判定されると保存を取り消してくれます!
さらに、「文字数をチェックする」を使えば、桁数チェックもできます。ハイフンや国番号が入ることを想定して、今回は10〜15文字としておきます。条件は先ほどのアクション3、4と同じです。
これで文字の種類と文字数に対してエラーチェックができるようになりました。
ちなみに、両方のチェックに引っかかれば、両方のエラーが表示されます。
電話番号に対して行ったチェックを、FAX番号に対しても同様に設定しましょう。
また「電話番号書式をチェックする」のエラーメッセージは「FAX番号の書式に誤りがあります。」と設定します。
実際にエラー表示させると、次のようになります。
メールアドレスのチェック
やること
「メールアドレス形式をチェックする」を使用します。
指定のフィールドがメールアドレス形式になっているかどうかをチェックできます。
チェック精度は
厳密… 使用できる文字なども含めてチェック
緩め… 「@」の有無だけをチェック
の2種類があります。今回は「厳密」を選択しておきます。
条件
今回も編集した時とレコード保存時に設定しましょう。また、先ほどと同様、フィールドが空でないとき、の条件も追加しておきましょう。
設定が終わったら、「kintoneアプリへ登録」し、ちゃんと動くか確認しましょう。
エラーが表示されるようになりましたね!
まとめ
これでかなり丁寧なチェックになったんじゃないでしょうか!
Customineにはエラーチェックが豊富に用意されています。
ぜひ色々試して、必要に応じたエラーチェックを実現してみてください!
また、Customineドキュメントやサポートページもぜひご活用ください。