SKILL.md
唯讀
名稱
platform-validation-rule-generate
描述
當使用者需要建立、修改或驗證 Salesforce 驗證規則時,請使用此技能。當使用者提及驗證規則、欄位驗證、資料品質規則、公式驗證、錯誤訊息或驗證邏輯時觸發。當使用者遇到驗證錯誤、需要更新公式或想要在資料層強制執行業務規則時,也請使用此技能。任何驗證規則相關工作都請一律使用此技能。
何時使用此技能
當您需要以下操作時,請使用此技能:
- 建立驗證規則以強制執行資料品質
- 防止儲存無效記錄
- 產生包含公式的驗證規則中繼資料
- 為物件新增業務邏輯驗證
- 疑難排解與驗證規則相關的部署錯誤
規格
ValidationRule 中繼資料規格
概觀
驗證規則是用於在 Salesforce 中強制執行資料品質和業務邏輯的宣告式中繼資料元件。它們會在儲存記錄時評估公式運算式,如果運算式傳回 TRUE,則會阻止儲存作業。
目的
- 在資料層強制執行業務規則
- 防止儲存無效或不完整的記錄
- 顯示有意義的錯誤訊息以引導使用者
必要屬性
核心驗證規則屬性
-
fullName
- 驗證規則的唯一 API 名稱
- 必須以字母開頭
- 可包含字母、數字和底線
- 不能以底線結尾
- 不能包含連續底線
- 不能超過 40 個字元
-
active
- 指出驗證規則是否啟用
true → 規則會強制執行
false → 規則為停用
- 指出驗證規則是否啟用
-
errorConditionFormula
-
評估記錄資料的邏輯公式
-
必須傳回 TRUE 或 FALSE
-
如果為 TRUE,驗證規則會觸發錯誤
-
errorMessage
- 驗證失敗時顯示給使用者的訊息
-
最大長度:255 個字元
特定函式指南
- TEXT - TEXT() 函式不得與文字欄位一起使用,若要修正此問題,只需移除 TEXT() 函式即可。
- CASE - 在 Salesforce 的 CASE() 函式中,最後一個參數是預設值。管理員經常遺漏提供此參數,且 CASE() 函式的參數數量永遠是偶數。
- VALUE - VALUE() 函式只能與文字欄位一起使用。如果數字被用作 VALUE() 函式的參數,請移除 VALUE() 函式。
- DAY - DAY() 函式只能與日期欄位一起使用。如果日期時間欄位被用作 DAY() 函式的參數,請先將其轉換為日期。
- MONTH - MONTH() 函式只能與日期欄位一起使用。如果日期時間欄位被用作 MONTH() 函式的參數,請先將其轉換為日期。
- DATEVALUE - DATEVALUE() 函式只能與日期時間欄位一起使用。如果日期被用作 DATEVALUE() 函式的參數,請移除 DATEVALUE() 函式。
- ISPICKVAL - 如果要檢查挑選清單類型欄位的相等性,必須使用 ISPICKVAL() 函式。
- ISCHANGE - 使用 ISCHANGE() 函式來檢查記錄的值是否已變更。
重要規則
-
公式 XML 處理(最常見的錯誤)
- 任何包含 XML 標籤的 errorConditionFormula 都必須放在中繼資料 XML 的 CDATA 區段內。
-
「更新」指示的解讀。收到修改公式的指示時,請區分取代和新增:
- 「將公式更新為 [動作]」:以新需求完全取代現有公式邏輯。
- 「將公式更新為也 [動作]」:保留現有邏輯並附加新需求(通常透過將邏輯包裝在 AND() 或 OR() 函式中)。
-
檔案格式需求
- 驗證規則檔案必須一律使用
.validationRule-meta.xml副檔名。
- 驗證規則檔案必須一律使用






