首页 > 解决方案 > 在 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 中是可能的还是不可能的?

标签: salesforceapex-codeapex

解决方案


不可能。您可以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


推荐阅读