当前位置: 首页 > 知识库问答 >
问题:

动态访问Salesforce APEX中的字段

傅正豪
2023-03-14

我正在编写一个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(字段名称)不返回对字段本身的引用。它返回该字段中的值。我在这里找到了一个线程

https://developer.salesforce.com/forums/?id=906F000000091aFIAQ

这似乎试图解决这个问题,但尚未解决。有人能肯定地说这在salesforce APEX中是可能的还是不可能的吗?

共有1个答案

傅博容
2023-03-14

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

 类似资料:
  • 正如他们所说,System是最终的类,它将类型外的PrintStream作为字段成员,println是PrintStream类中的方法。 我创建了一个类,其中静态字段no的类型为,只想访问Number类的方法,但它抛出了 对于UseNumber类

  • RichAsyncFunction的Flink文档说明: 尚不支持RuntimeContext中与状态相关的API,因为在访问工作线程中的状态时,键可能会发生更改。 的文档在这里。

  • 我想在不使用应用编程接口的情况下访问instagram页面。我需要找到追随者的数量,所以这不仅仅是一个源下载,因为页面是动态构建的。 我发现HtmlUnit是一个模拟浏览器的库,这样JS就会被渲染,我就能得到想要的内容。 但是,此调用会导致以下异常: 所以它无法访问该脚本,但如果我正确解释了这一点,它只是为了加载字体,我不需要。我在google上搜索了如何告诉它忽略页面的某些部分,并找到了这条线索

  • 问题内容: 我正在编写一个包含的程序JButton。每次单击该按钮时,都会将新JTextField的添加到中JPanel。 我的问题是,在用户创建所有JTextFields并用信息填充它们之后,我需要获取每个字段的文本。JTextFields当它们没有实例名称时,如何动态访问它们?有没有一种更好的方法来获取每个文本,而又不知道它们的实例名称。 这是…的actionPerformed事件代码JBut

  • 问题内容: 假设我创建了一个类的实例,并想为其公共属性分配一些值。通常,这将是这样完成的: 但是,如果编写一个将类作为参数的函数,而我想动态地为该类的公共属性分配一些值,那就是通过变量和循环(不知道有多少个或被称为什么)。 ) 显而易见的是: 但这是行不通的。 有任何想法吗? 问题答案:

  • 我在比较C++多态性的以下方法的性能: 方法[1]。使用boost变体的静态多态性,每个方法都有一个单独的访问者method[2]。静态多态性使用boost变体,单个访问者调用不同的方法,使用方法重载方法[3]。平原老动态多态性 一些发现: 方法[1]似乎明显优于方法[2]和[3] 方法[3]在大多数情况下都优于方法[2] 我的问题是,为什么方法[2]在我使用一个访问者但使用方法重载来调用正确的方