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() 函数。
  • CASE - 在 Salesforce 的 CASE() 函数中,最后一个参数是默认值。管理员经常会忘记提供此参数,而且 CASE() 函数的参数数量始终为偶数。
  • VALUE - VALUE() 函数只能用于文本字段。如果将数字用作 VALUE() 函数的参数,请移除 VALUE() 函数。
  • DAY - DAY() 函数只能用于日期字段。如果将日期时间字段用作 DAY() 函数的参数,请先将其转换为日期。
  • MONTH - MONTH() 函数只能用于日期字段。如果将日期时间字段用作 MONTH() 函数的参数,请先将其转换为日期。
  • DATEVALUE - DATEVALUE() 函数只能用于日期时间字段。如果将日期用作 DATEVALUE() 函数的参数,请移除 DATEVALUE() 函数。
  • ISPICKVAL - 如果要检查选项列表类型字段是否相等,必须使用 ISPICKVAL() 函数。
  • ISCHANGE - 使用 ISCHANGE() 函数检查记录的值是否已更改。
关键规则
  1. 公式 XML 处理(最常见错误)

    • errorConditionFormula 中的任何 XML 标签都必须放在元数据 XML 的 CDATA 区段内。
  2. 对“更新”指令的理解。收到修改公式的指令时,请区分替换和添加:

    • “将公式更新为[操作]”:用新要求完全替换现有公式逻辑。
    • “将公式更新为也执行[操作]”:保留现有逻辑并追加新要求(通常通过将逻辑包装在 AND() 或 OR() 函数中)。
  3. 文件格式要求

    • 验证规则文件必须始终使用 .validationRule-meta.xml 扩展名。

评论

支持 Markdown