Salesforceでは「入力規則」を使って入力時のチェックを行うことができますが、少し複雑なチェックを行う場合は「正規表現」を使えると便利ですよね。
もちろん、Salesforceでできます。
正規表現を使えば、
- 郵便番号や電話番号の形式
- 時刻の形式
- もっと複雑な特定の形式
でも自由に記述が可能です。
※基本的な正規表現については、「【図解でわかりやすく】正規表現のまとめ その①基本メタキャラクタ編」の記事を参照するとわかりやすいと思います。
入力規則でチェックする
Salesforceでは、各項目に対する入力チェックをカスタマイズすることができます。
通常は、管理コンソールからの入力規則でプログラムレスに定義することが可能です。
共通する定義の仕方は、下の画像のように、Salesforceの管理コンソールのオブジェクトの定義の「入力規則」に行き、
- ①入力規則の定義名を入力する。・・・適当な名前を入力しましょう。
- ②どんな条件の時にエラーとするのかを定義する。・・・少し紛らわしいですが、この条件でtrueになったときに、入力エラーとしてはじかれます。
- ③入力チェックエラー・メッセージを定義・・・入力チェックのエラーになった場合に、どのようなメッセージを表示するのかを定義します。
また、表示する場所も、複数項目のエラーをまとめて画面上部に表示するのか、それぞれの項目の横に表示するのかを選べます。
正規表現には、REGEX関数を使うと便利です。下記は、『「Name1__c」項目が空欄で無い場合は、「99:99」の形で入力されること』というチェックになります。
AND(
NOT( ISBLANK(Name1__c)),
NOT(REGEX( Name1__c, "[0-9]{2}:[0-9]{2}"))
)
なお、もっと複雑なチェックや、複数項目の関連チェックの場合は、Apexトリガでチェックすると楽です。
やり方は記事「複雑なSalesforceの入力チェックをApexトリガで行う方法とサンプル」を参照してみてください。