Salesforceで入力チェックをカスタマイズする方法のまとめと「正規表現」を使うTips

Salesforceでは「入力規則」を使って入力時のチェックを行うことができますが、少し複雑なチェックを行う場合は「正規表現」を使えると便利ですよね。

もちろん、Salesforceでできます。

正規表現を使えば、

  • 郵便番号や電話番号の形式
  • 時刻の形式
  • もっと複雑な特定の形式

でも自由に記述が可能です。

※基本的な正規表現については、「【図解でわかりやすく】正規表現のまとめ その①基本メタキャラクタ編」の記事を参照するとわかりやすいと思います。

入力規則でチェックする

Salesforceでは、各項目に対する入力チェックをカスタマイズすることができます。

通常は、管理コンソールからの入力規則でプログラムレスに定義することが可能です。

共通する定義の仕方は、下の画像のように、Salesforceの管理コンソールのオブジェクトの定義の「入力規則」に行き、

  • ①入力規則の定義名を入力する。・・・適当な名前を入力しましょう。
  • ②どんな条件の時にエラーとするのかを定義する。・・・少し紛らわしいですが、この条件でtrueになったときに、入力エラーとしてはじかれます。
  • ③入力チェックエラー・メッセージを定義・・・入力チェックのエラーになった場合に、どのようなメッセージを表示するのかを定義します。

また、表示する場所も、複数項目のエラーをまとめて画面上部に表示するのか、それぞれの項目の横に表示するのかを選べます。

入力規則に使えるチェック表現Tips

ある一定のパターンにマッチしない文字を正規表現で防ぐ

正規表現には、REGEX関数を使うと便利です。下記は、『「Name1__c」項目が空欄で無い場合は、「99:99」の形で入力されること』というチェックになります。

AND(
NOT( ISBLANK(Name1__c)),
NOT(REGEX( Name1__c, "[0-9]{2}:[0-9]{2}"))
)

なお、もっと複雑なチェックや、複数項目の関連チェックの場合は、Apexトリガでチェックすると楽です。

やり方は記事「複雑なSalesforceの入力チェックをApexトリガで行う方法とサンプル」を参照してみてください。