入力規則の作成

学習の目的

この単元を完了すると、次のことができるようになります。
  • 入力規則の 2 つの使用事例を説明する。
  • 入力規則の要素をリストする。
  • 入力規則を作成する。

入力規則の概要

入力規則は、レコードを保存する前に、入力したデータが指定の基準を満たしているかどうかを確認します。入力規則は、1 つ以上の項目のデータを評価する数式や条件式を設定し、「True」または「False」の値を返すことができます。入力規則が値「True」を返した場合、ユーザが入力したデータに無効な値が含まれていることを示します。また、指定された条件に基づき、入力した値が有効でない場合に表示するエラーメッセージを入力規則に含めることもできます。この規則を使用することで、データ品質を効果的に向上できます。たとえば、指定された形式がすべての電話番号項目に含まれていることや、特定の商品に適用される割引が定義済みの割合を超えないことを確認できます。

入力規則の定義

オブジェクト、項目、キャンペーンメンバー、ケースマイルストンの入力規則を作成できます。次の手順では、ユーザが不正な長さの取引先番号を使用して取引先を保存しようとしたときに実行される入力規則を作成します。

入力規則の作成

  1. [設定] からオブジェクトマネージャに移動し、[取引先] をクリックします。
  2. 左サイドバーで、[入力規則] をクリックします。
  3. [新規] をクリックします。
  4. 入力規則の次のプロパティを入力します。
    a. ルール名: Account_Number_8_Characters
    b. エラー条件式:
    LEN( AccountNumber) != 8
  5. エラーメッセージ: Account number must be 8 characters long. (取引先番号は 8 文字にする必要があります。)
  6. [構文を確認] をクリックして、数式にエラーがないか確認します。
  7. [保存] をクリックして終了します。
ユーザが誤った形式で取引先番号を項目に入力したときに、入力規則のエラーメッセージをどのように表示できるかを次に示します。
関連するエラーメッセージを含む入力規則の入力

入力規則の例

自分で試すことのできるいくつかの入力規則の例を次に示します。

取引先番号は数値で指定する

AND 関数は、数式のすべての値が true の場合は値「True」、1 つ以上の値が false の場合は値「FALSE」を返します。ISBLANK 関数は、式に値があるかどうかを判断します。ISNUMBER 関数は、式の値が数値かどうかを判断します。NOT 関数は、式の逆数が true かどうかを判断します。例では、入力規則は取引先番号が空白でも数値でもないかどうかを判断します。値「True」はユーザが入力したデータに無効な値が含まれていることを示します。つまり、ユーザが取引先番号に数値以外を入力したら、入力規則は応答「True」を返し、エラーメッセージを送信します。  

項目
説明: [取引先番号] が数値になっていることを確認します (空白でない場合)。
数式:
	AND(
   NOT(ISBLANK(AccountNumber)),
   NOT(ISNUMBER(AccountNumber))
)
エラーメッセージ: 取引先番号が数値になっていません。
エラー表示場所: 取引先番号

今年の日付であること

YEAR 関数は、指定された日付の 4 桁の年を返します。TODAY 関数は、現在の日付を返します。<> (不等号) 演算子は、値がもう一方の値と等しくない (もう一方の値より小さいか大きい) かどうかを判断します。例では、入力規則は指定された日付の年が今日の日付の年と等しくないかどうかを判断します。値「True」はユーザが入力したデータに無効な値が含まれていることを示します。つまり、ユーザが現在の年ではない日付を入力したら、入力規則は応答「True」を返し、エラーメッセージを送信します。

項目
説明: カスタム日付項目 ([私の日付]) の値が、今年の日付であることを確認します。
数式: YEAR( My_Date__c ) <> YEAR ( TODAY() )
エラーメッセージ: 今年の日付を入力してください。
エラー表示場所: 私の日付

数値範囲入力規則

例では、入力規則は 2 つの値 (最大給与と最小給与) の差が 20,000 ドルより大きいかどうかを判断します。値「True」はユーザが入力したデータに無効な値が含まれていることを示します。つまり、ユーザが入力した 2 つの値の差が給与の範囲の 20,000 ドルを超えている場合、入力規則は応答「True」を返し、エラーメッセージを送信します。

項目
説明: [最小給与][最大給与] という 2 つのカスタム項目の範囲が 20,000 ドルを超えないことを確認します。
数式:
(Salary_Max__c - Salary_Min__c) > 20000
エラーメッセージ: 給与の範囲は 20,000 ドルです。最大または最小給与の値を変更してください。
エラー表示場所: 最大給与

Web サイトの TLD (トップレベルドメイン)

AND 関数は、数式のすべての値が true の場合は値「True」、1 つ以上の値が false の場合は値「FALSE」を返します。<> (不等号) 演算子は、値がもう一方の値と等しくない (もう一方の値より小さいか大きい) かどうかを判断します。例では、ユーザが入力した Web サイト URL の拡張子が 6 つの有効な拡張子のいずれとも等しくない (大きいか小さい) 場合、入力規則は応答「True」を返し、エラーメッセージを送信します。ユーザが入力した Web サイト URL の TLD が有効な拡張子のいずれかと等しい (大きくも小さくもない) 場合、ユーザが入力したデータは有効であるため、入力規則は応答「False」を返し、エラーメッセージを送信しません。

項目
説明: [Web サイト] というカスタム項目の最後の 4 文字が、明示的な一連の有効な Web サイトの TLD になっていることを確認します。
数式:
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 サイト

有効な [国 (請求先)]

OR 関数は、数式の 1 つ以上の式が true の場合は「True」を返し、すべての式が false の場合は「False」を返します。LEN 関数は、指定されたテキスト文字列の文字数を返します。例では、入力規則はユーザが [国(請求先] コードに入力した値が (必要な 2 文字ではなく) 1 文字かどうか、または有効な 2 文字のコードのいずれでもないかどうかを判断します。これらの条件のどちらかが true であれば、入力規則は値「True」を返し、エラーメッセージを送信します。ユーザが有効な [国(請求先)] コードを入力した場合、数式の式は両方とも 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 文字の有効な国コードを入力してください。
エラー表示場所: 国(請求先)