入力規則の作成
学習の目的
この単元を完了すると、次のことができるようになります。
- 入力規則の 2 つの使用事例を説明する。
- 入力規則の要素をリストする。
- 入力規則を作成する。
入力規則の概要
入力規則は、レコードを保存する前に、入力したデータが指定の基準を満たしているかどうかを確認します。入力規則は、1 つ以上の項目のデータを評価する数式や条件式を設定し、「True」または「False」の値を返すことができます。入力規則が値「True」を返した場合、ユーザーが入力したデータに無効な値が含まれていることを示します。また、指定された条件に基づき、入力した値が有効でない場合に表示するエラーメッセージを入力規則に含めることもできます。この規則を使用することで、データ品質を効果的に向上できます。たとえば、指定された形式がすべての電話番号項目に含まれていることや、特定の商品に適用される割引が定義済みの割合を超えないことを確認できます。
入力規則の定義
オブジェクト、項目、キャンペーンメンバー、ケースマイルストーンの入力規則を作成できます。次の手順では、ユーザーが不正な長さの取引先番号を使用して取引先を保存しようとしたときに実行される入力規則を作成します。
入力規則の作成
- [Setup (設定)] から [Object Manager (オブジェクトマネージャー)] に移動し、[Account (取引先)] をクリックします。
- 左サイドバーで、[Validation Rules (入力規則)] をクリックします。
-
[New (新規)] をクリックします。
- 入力規則に次のプロパティを入力します。
- Rule Name (ルール名):
Account_Number_8_Characters
- Error Condition Formula (エラー条件数式):
LEN( AccountNumber) <> 8
- Rule Name (ルール名):
- Error Message (エラーメッセージ):
Account number must be 8 characters long.
(取引先番号は 8 文字にする必要があります。) -
[Check Syntax (構文を確認)] をクリックして、数式にエラーがないか確認します。
-
[Save (保存)] をクリックして終了します。
ユーザーが誤った形式で取引先番号を項目に入力したときに、入力規則のエラーメッセージをどのように表示できるかを次に示します。
入力規則の例
自分で試すことのできるいくつかの入力規則の例を次に示します。
取引先番号は数値で指定する
AND 関数は、数式のすべての値が true の場合は値「True」、1 つ以上の値が false の場合は値「FALSE」を返します。ISBLANK 関数は、式に値があるかどうかを判断します。ISNUMBER 関数は、式の値が数値かどうかを判断します。NOT 関数は、真であれば FALSE、偽であれば TRUE を返します。例では、入力規則は取引先番号が空白でも数値でもないかどうかを判断します。値「True」はユーザーが入力したデータに無効な値が含まれていることを示します。つまり、ユーザーが取引先番号に数値以外を入力したら、入力規則は応答「True」を返し、エラーメッセージを送信します。
項目 |
値 |
---|---|
説明: |
[Account Number (取引先番号)] が数値になっていることを確認します (空白でない場合)。 |
数式: |
AND( NOT(ISBLANK(AccountNumber)), NOT(ISNUMBER(AccountNumber)) ) |
エラーメッセージ: |
取引先番号が数値になっていません。 |
エラー表示場所: |
取引先番号 |
今年の日付であること
YEAR 関数は、指定された日付の 4 桁の年を返します。TODAY 関数は、現在の日付を返します。<>
(Not Equal (不等号)) 演算子は、値がもう一方の値と等しくないかどうかを判断します。例では、入力規則は指定された日付の年が今日の日付の年と等しくないかどうかを判断します。値「True」はユーザーが入力したデータに無効な値が含まれていることを示します。つまり、ユーザーが現在の年ではない日付を入力したら、入力規則は応答「True」を返し、エラーメッセージを送信します。
項目 |
値 |
---|---|
説明: |
カスタム日付項目 ([My Date (私の日付)]) の値が、今年の日付であることを確認します。 |
数式: |
YEAR( My_Date__c ) <> YEAR ( TODAY() ) |
エラーメッセージ: |
今年の日付を入力してください。 |
エラー表示場所: |
私の日付 |
数値範囲入力規則
例では、入力規則は 2 つの値 (最大給与と最小給与) の差が 20,000 ドルより大きいかどうかを判断します。値「True」はユーザーが入力したデータに無効な値が含まれていることを示します。つまり、ユーザーが入力した 2 つの値の差が給与の範囲の 20,000 ドルを超えている場合、入力規則は応答「True」を返し、エラーメッセージを送信します。
項目 |
値 |
---|---|
説明: |
[Salary Min (最小給与)] と [Salary Max (最大給与)] という 2 つのカスタム項目の範囲が 20,000 ドルを超えないことを確認します。 |
数式: |
(Salary_Max__c - Salary_Min__c) > 20000 |
エラーメッセージ: |
給与の範囲は 20,000 ドルです。最大または最小給与の値を変更してください。 |
エラー表示場所: |
最大給与 |
Web サイトの拡張子
AND 関数は、数式のすべての値が true の場合は値「True」、1 つ以上の値が false の場合は値「FALSE」を返します。<>
(Not Equal (不等号)) 演算子は、値がもう一方の値と等しくないかどうかを判断します。例では、ユーザーが入力した Web サイト URL の拡張子が 6 つの有効な拡張子のいずれとも等しくない場合、入力規則は応答「True」を返し、エラーメッセージを送信します。ユーザーが入力した Web サイト URL の拡張子が有効な拡張子のいずれかと等しい場合、ユーザーが入力したデータは有効であるため、入力規則は応答「False」を返し、エラーメッセージを送信しません。
項目 |
値 |
---|---|
説明: |
[Web Site (Web サイト)] というカスタム項目の最後の 4 文字が、明示的な一連の有効な Web サイトの拡張子になっていることを確認します。 |
数式: |
AND( RIGHT( Web_Site__c, 4) <> ".COM", RIGHT( Web_Site__c, 4) <> ".com", RIGHT( Web_Site__c, 4) <> ".ORG", RIGHT( Web_Site__c, 4) <> ".org", RIGHT( Web_Site__c, 4) <> ".NET", RIGHT( Web_Site__c, 4) <> ".net" ) |
エラーメッセージ: |
Web サイトには、.com、.org、または .net の拡張子が必要です。 |
エラー表示場所: |
Web サイト |
有効な [Billing Country (国 (請求先))]
OR 関数は、数式の 1 つ以上の式が true の場合は「True」を返し、すべての式が false の場合は「False」を返します。LEN 関数は、指定されたテキスト文字列の文字数を返します。例では、入力規則はユーザーが [Billing Country (国 (請求先))] コードに入力した値が (必要な 2 文字ではなく) 1 文字かどうか、または有効な 2 文字のコードのいずれでもないかどうかを判断します。これらの条件のどちらかが true であれば、入力規則は値「True」を返し、エラーメッセージを送信します。ユーザーが有効な [Billing Country (国(請求先))] コードを入力した場合、数式の式は両方とも false になります (LEN は 1 ではなく、データは有効な値のいずれでもない)。この場合、入力規則は値「False」を返し、エラーメッセージを送信しません。
項目 |
値 |
---|---|
説明: |
取引先の [国(請求先)] が、ISO 3166 で有効な 2 文字のコードになっているかを確認します。 |
数式: |
OR( LEN(BillingCountry) = 1, NOT( CONTAINS( "AF:AX:AL:DZ:AS:AD:AO:AI:AQ:AG:AR:AM:" & "AW:AU:AZ:BS:BH:BD:BB:BY:BE:BZ:BJ:BM:BT:BO:" & "BA:BW:BV:BR:IO:BN:BG:BF:BI:KH:CM:CA:CV:KY:" & "CF:TD:CL:CN:CX:CC:CO:KM:CG:CD:CK:CR:CI:HR:" & "CU:CY:CZ:DK:DJ:DM:DO:EC:EG:SV:GQ:ER:EE:ET:FK:" & "FO:FJ:FI:FR:GF:PF:TF:GA:GM:GE:DE:GH:GI:GR:GL:" & "GD:GP:GU:GT:GG:GN:GW:GY:HT:HM:VA:HN:HK:HU:" & "IS:IN:ID:IR:IQ:IE:IM:IL:IT:JM:JP:JE:JO:KZ:KE:KI:" & "KP:KR:KW:KG:LA:LV:LB:LS:LR:LY:LI:LT:LU:MO:MK:" & "MG:MW:MY:MV:ML:MT:MH:MQ:MR:MU:YT:MX:FM:MD:MC:" & "MC:MN:ME:MS:MA:MZ:MM:MA:NR:NP:NL:AN:NC:NZ:NI:" & "NE:NG:NU:NF:MP:NO:OM:PK:PW:PS:PA:PG:PY:PE:PH:" & "PN:PL:PT:PR:QA:RE:RO:RU:RW:SH:KN:LC:PM:VC:WS:" & "SM:ST:SA:SN:RS:SC:SL:SG:SK:SI:SB:SO:ZA:GS:ES:" & "LK:SD:SR:SJ:SZ:SE:CH:SY:TW:TJ:TZ:TH:TL:TG:TK:" & "TO:TT:TN:TR:TM:TC:TV:UG:UA:AE:GB:US:UM:UY:UZ:" & "VU:VE:VN:VG:VI:WF:EH:YE:ZM:ZW", BillingCountry))) |
エラーメッセージ: |
2 文字の有効な国コードを入力してください。 |
エラー表示場所: |
Billing Country (国(請求先)) |
リソース
-
Salesforce ヘルプ: 入力規則ルール
-
Salesforce ヘルプ: 入力規則の管理
-
Salesforce ヘルプ: 入力規則の記述のヒント
-
Salesforce ヘルプ: コンテキストごとの数式の演算子と関数