salesforce - 在 Salesforce APEX 中动态访问字段
问题描述
我正在编写一个 APEX 触发器来验证对象上的数据输入。我有许多字段遵循类似的命名格式并且都是相同的数据类型:
Field 1
Field 2
etc.
Field 10
如果验证失败,我想遍历字段并添加错误:
for (i=1; i<=10; i++){
if !validate(Object.get('Field '+String.valueOf(i)){
\\ Here I need code that can add an error to "Field i"
}
}
问题是 Object.get(fieldname) 不返回对字段本身的引用。它返回该字段中的值。我在这里找到了一个线程
https://developer.salesforce.com/forums/?id=906F000000091aFIAQ
这似乎试图解决这个问题,但没有解决。谁能明确地说这在 salesforce APEX 中是可能的还是不可能的?
解决方案
不可能。您可以addError()
对整个 sObject但不能对动态引用的字段。结果将是错误将出现在页面顶部而不是该特定字段上。
检查https://salesforce.stackexchange.com/questions/79291/how-to-use-adderror-with-a-dynamically-derived-field-name 并且有一个想法可以投票:https ://success.salesforce.com /ideaview?id=08730000000GoC5AAK
推荐阅读
- java - .Net Core 上的编码在 Java 上进行解码
- javascript - Carousel(纯 CSS 和 npms)在 ReactJS 中不能很好地显示
- python - AWS boto3 get_object 调用的 IfMatch 参数如何工作?
- r - 数据框中两个逗号分隔因子之间的部分匹配
- wordpress - wp_query 与 page_author 或元值
- spring-boot - 弹簧启动器和其他弹簧包有什么区别?
- arduino - 使用firebase ESP8266(nodeMCU)打开LED的问题
- youtube-api - 我的代码没有显示 concurrentViewers youtube api
- cakephp - 蛋糕PHP。如何将控制器方法调用到控制器中?
- mysql - 从 App 脚本到本地 MySQL 的 JDBC 连接