如何解决Salesforce中LeadTrigger触发的FIELD_CUSTOM_VALIDATION_EXCEPTION错误?
解决Salesforce Lead保存时的FIELD_CUSTOM_VALIDATION_EXCEPTION错误
错误原因
这个错误是因为你的LeadTriggerHandler类的afterInsertHandler方法(第25行)执行DML操作时,触发了Industry字段不能为空的自定义验证规则,导致插入操作失败。
解决方案
1. 检查Lead的Industry字段必填设置
- 进入Salesforce Setup,搜索Object Manager,找到Lead对象
- 点击Fields & Relationships,定位到Industry字段
- 查看字段的Required配置:如果设为必填,确保UI保存Lead时已填写该字段;若无需必填,可取消该设置
2. 排查自定义验证规则
- 在Lead对象设置页,点击Validation Rules
- 找到针对Industry字段的验证规则(规则逻辑应为判断字段为空时阻止保存)
- 若规则属于误配置,直接停用或删除
- 若规则需保留,确保UI保存Lead时严格填写Industry字段
3. 检查触发器逻辑
- 打开
LeadTriggerHandler类,定位到第25行的DML代码 - 确认该操作是否在处理Lead记录时,清空或未赋值Industry字段
- 若触发器逻辑导致字段值丢失,修改代码确保该字段值被正确保留或赋值
- 比如触发器创建关联记录时,要从原Lead记录中获取Industry值,避免为空
4. 临时测试排查
- 先停用
LeadTrigger,尝试在UI保存Lead记录:如果保存成功,说明问题确实出在触发器逻辑或其触发的验证上 - 保存成功后再重新启用触发器,针对性修改代码逻辑
内容的提问来源于stack exchange,提问作者praneeth kokku
相关产品推荐
相关产品推荐

