我正在编写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中是不可能的?
答案 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