【问题标题】:How do I validate a field type in a trigger?如何验证触发器中的字段类型?
【发布时间】:2012-04-10 17:32:38
【问题描述】:

我有一个触发on Lead (after update) 的触发器。我们有一个名为 Finance 的对象,它存储有关每个潜在客户的一些财务信息。当触发器触发时,它将对某些字段的任何更新推送到财务记录中。我写的东西很好用,除非用户决定输入无效的电子邮件,或者记录所有者处于非活动状态。抛出一个 APEX 错误,对于大多数用户来说,这看起来像是胡言乱语,有点吓人。

我想做的是在触发器中检查电子邮件是否有效,这样用户就不会收到令人困惑的错误。如何检查字段的内容是否为有效类型?我想远离使用某种正则表达式,因为我想将此方法应用于其他几个字段,而且我宁愿不维护正则表达式列表。

有什么想法吗?

【问题讨论】:

    标签: validation triggers salesforce apex-code


    【解决方案1】:

    您可以在触发器中捕获验证错误:

    try {
        upsert financeRecord;
    } catch (Exception e) {
        // do whatever you'd like to on an exception here
    }
    

    【讨论】:

    • 所以,我目前正在更新 6 个字段。如果其中两个的数据格式不正确,e 是否包含有关这两个字段的异常的详细信息,或者只是它遇到的第一个问题?有没有办法显示自定义错误?我对自定义错误进行了一些搜索,但没有发现任何有用的信息。
    • e 将仅保存有关第一个异常的信息。您可以在页面上显示错误。如果您希望错误具有默认消息,请将ApexPages.addMessages(e); 添加到控制器并添加<apex:pagemessages /> 标记到页面。否则,您总是可以继承 Exception 类并抛出它而不是默认的 Exception。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-13
    相关资源
    最近更新 更多