mcpField
G
generating-validation-rule

generating-validation-rule

github.com/forcedotcomデータ・データベース1.1k3.9k 回インストール1 日前に更新
リポジトリ

generating-validation-rule について

Salesforce の開発者や管理者向けに、レコード保存時のデータ品質や業務ルールを確認する ValidationRule メタデータを解説します。数式関数の制約、XML の扱い、必要なファイル形式を扱います。

主な機能

  1. 01数式条件とエラーメッセージの定義
  2. 02検証ルールの有効化と無効化
  3. 03一般的な数式関数の制約説明
  4. 04数式内の XML の処理
  5. 05検証ルールのファイル拡張子指定

活用シーン

  1. 01業務ルールに反するレコードの保存防止
  2. 02オブジェクトへのデータ品質チェック追加
  3. 03検証数式やデプロイ問題の調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/forcedotcom/sf-skills --skill generating-validation-rule

インストール後、Claude Code で/generating-validation-ruleを入力して読み込まれたか確認します。

詳細

このスキルを使用する場面

次の場合にこのスキルを使用します。

  • データ品質を確保するための検証ルールを作成する
  • 無効なレコードが保存されないようにする
  • 数式を含む検証ルールのメタデータを生成する
  • オブジェクトにビジネスロジックの検証を追加する
  • 検証ルールに関連するデプロイエラーのトラブルシューティングを行う

仕様

ValidationRule メタデータ仕様

📋 概要

検証ルールは、Salesforce でデータ品質とビジネスロジックを確保するために使用される宣言型のメタデータコンポーネントです。レコードの保存時に数式を評価し、式が TRUE を返した場合は保存処理を阻止します。

🎯 目的

-データレイヤーでビジネスルールを適用する -無効または不完全なレコードが保存されないようにする -ユーザーを案内する、わかりやすいエラーメッセージを表示する

⚙️ 必須プロパティ
検証ルールの主要プロパティ
  • fullName

    • 検証ルールの一意な API 名
    • 先頭は英字である必要があります
      • 英字、数字、アンダースコアを使用できます
    • アンダースコアで終わることはできません
    • 連続するアンダースコアは使用できません
    • 40 文字を超えることはできません。
  • active -検証ルールが有効かどうかを示します true → ルールが適用されます false → ルールは無効です

  • errorConditionFormula

  • レコードデータを評価する論理式です

  • TRUE または FALSE を返す必要があります

  • TRUE の場合、検証ルールがエラーを発生させます

  • errorMessage

    • 検証に失敗した場合にユーザーに表示されるメッセージです
  • 最大長:255 文字

関数ごとのガイドライン
  • TEXT - TEXT() 関数は Text 項目に使用してはいけません。修正するには、TEXT() 関数を削除します。
  • CASE - Salesforce の CASE() 関数では、最後のパラメーターがデフォルト値です。管理者がこれを指定し忘れることはよくあります。また、CASE() 関数のパラメーター数は常に偶数です。
  • VALUE - VALUE() 関数は Text 項目にのみ使用してください。VALUE() 関数のパラメーターに数値を使用している場合は、VALUE() 関数を削除します。
  • DAY - DAY() 関数は Date 項目にのみ使用してください。DAY() 関数のパラメーターに Datetime 項目を使用している場合は、まず Date に変換します。
  • MONTH - MONTH() 関数は Date 項目にのみ使用してください。MONTH() 関数のパラメーターに Datetime 項目を使用している場合は、まず Date に変換します。
  • DATEVALUE - DATEVALUE() 関数は DateTime 項目にのみ使用してください。DATEVALUE() 関数のパラメーターに Date を使用している場合は、DATEVALUE() 関数を削除します。
  • ISPICKVAL - Picklist 型の項目の等価性を確認する場合は、ISPICKVAL() 関数を使用する必要があります。
  • ISCHANGE - レコードの値が変更されたかどうかを確認するには、ISCHANGE() 関数を使用します。
重要なルール
  1. 数式の XML 処理(最もよくあるエラー)

    • errorConditionFormula に XML タグが含まれる場合は、必ずメタデータ XML 内の CDATA セクションに入れてください。
  2. 「Update」指示の解釈。数式を変更する指示を受けた場合は、置換と追加を区別してください。

    • 「数式を[アクション]に更新する」:既存の数式ロジックを新しい要件で完全に置き換えます。
    • 「数式を[アクション]も行うように更新する」:既存のロジックを維持し、新しい要件を追加します(通常はロジックを AND() 関数または OR() 関数で囲みます)。
  3. ファイル形式の要件

    • 検証ルールのファイルには、必ず .validationRule-meta.xml 拡張子を使用してください。

コメント