Salesforce APEX中的动态访问字段

时间:2018-08-22 15:01:52

标签: salesforce apex-code 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中是不可能的?

1 个答案:

答案 0 :(得分:1)

不可能。您可以addError()whole sObject,但是不能动态引用字段。结果是该错误将显示在页面顶部而不是该特定字段上。

检查https://salesforce.stackexchange.com/questions/79291/how-to-use-adderror-with-a-dynamically-derived-field-name 并且有一个想法可以投票:https://success.salesforce.com/ideaview?id=08730000000GoC5AAK