Validation Ruleの仕組み
Validation Ruleは「この条件がTRUEのときは保存を拒否する」という数式で動きます。条件がFALSEなら保存できる、という考え方です。
注意点は「TRUEのときにエラーを出す」という設計です。「金額が空欄のときエラーを出したい」なら、数式は ISBLANK(Amount) と書きます。空欄がTRUEになったときに保存がブロックされます。
Validation Ruleを設定する手順
-
設定 → オブジェクトマネージャーを開く 右上の歯車アイコン →「設定」→「オブジェクトマネージャー」へ移動する
-
対象オブジェクトを選択する 「商談」「取引先責任者」など、Validation Ruleを設定したいオブジェクトを選ぶ
-
「入力規則」→「新規」をクリック 左メニューの「入力規則」を選び、「新規」ボタンから作成画面へ進む
-
ルール名とエラー条件数式を入力する ルール名(例:必須_金額チェック)と、エラーを発生させる数式を入力する。数式エディタの「項目の挿入」を使うと項目名をミスなく入力できる
-
エラーメッセージとメッセージの場所を設定する ユーザーに表示するメッセージを入力する(例:「金額を入力してください」)。「ページの最上部」または「特定の項目の横」に表示場所を選べる
-
保存して動作を確認する Sandboxで先にテストし、意図した動作になっているかを確認してから本番に反映する
よく使う数式パターン
Validation Ruleでよく使う数式をまとめました。コピーして項目名(API名)を自社の項目名に変えて使えます。
-
① 項目が空欄のときにエラーを出す用途:必須入力にしたい項目(ただし条件付きで必須にしたい場合)ISBLANK(項目のAPI名)標準の「必須」設定はすべてのケースで必須になる。Validation Ruleなら「フェーズが受注のときだけ必須」などの条件付きにできる
-
② 特定フェーズのときだけ項目を必須にする用途:商談が「受注」になったら金額の入力を必須にするAND(StageName = "受注", ISBLANK(Amount))AND関数で複数条件を組み合わせる。「受注フェーズで金額が空欄なら保存ブロック」という意味
-
③ 数値が負の値にならないようにする用途:金額・数量が0以上であることを保証するAmount < 0「金額が0未満のときエラー」という意味。マイナス入力のミスを防ぐ
-
④ 完了予定日が過去にならないようにする用途:商談の完了予定日に過去の日付が入力されるのを防ぐCloseDate < TODAY()新規作成時のみ適用したい場合は
AND(ISNEW(), CloseDate < TODAY())で既存レコードの更新には影響させない -
⑤ テキストの文字数を制限する用途:郵便番号を7文字以内に制限するなどLEN(PostalCode__c) > 7LEN関数で文字数を取得。文字数オーバーのときにエラーを出す
Validation Ruleが活きる場面
Validation Ruleは「必須項目」設定より柔軟に使える
標準の「必須」項目設定は、どんな状況でも必ず入力が必要になります。一方Validation Ruleなら「このフェーズのときだけ」「このユーザーが操作するときだけ」という条件付き必須が実現できます。現場の運用に合わせて細かく制御できるのが大きな利点です。
ルールを増やしすぎると「保存しようとするたびにエラーが出る」という状況になり、営業担当の入力意欲が下がります。最初は5個以内に絞り、本当に必要なものから段階的に追加してください。また、エラーメッセージは「何がNG」「どう直せば保存できるか」を具体的に書くことが重要です。