2012-04-10 16 views
1

我有一个触发器,它会触发on Lead (after update)。我们有一个名为Finance的对象,存储有关每个潜在客户的一些财务信息。触发器触发时,会将某些更新内容推送到财务记录中。除非用户决定输入无效的电子邮件,或者记录所有者不活跃,否则我写的内容非常棒。 APEX错误被抛出,这对大多数用户来说看起来很乱,而且有点吓人。如何验证触发器中的字段类型?

我想要做的是在我的触发器中检查电子邮件是否有效,以便用户不会收到令人困惑的错误。我怎么去检查一个字段的内容是否是一个有效的类型?我想远离使用某种正则表达式,因为我想要应用此方法的其他字段,我宁愿不维护正则表的列表。

任何想法?

回答

3

你可以赶上你的触发验证错误:

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

所以,我目前正在更新6场。如果其中两个格式不正确的数据,是否保留有关这两个字段的例外情况的详细信息,或只是第一个遇到的问题?有没有办法显示自定义错误?我已经对自定义错误进行了一些搜索,但没有发现任何有用的信息。 – VictorKilo 2012-04-10 20:35:11

+0

'e'只会保存关于第一个异常的信息。您可以在页面上显示错误。如果你想让这个错误有缺省的消息,可以在控制器中添加'ApexPages.addMessages(e);'并在页面中添加一个''标签。否则,您总是可以继承Exception类,并抛出它,而不是默认的Exception。 – barelyknown 2012-04-10 23:03:26

+0

酷!谢谢您的帮助! – VictorKilo 2012-04-10 23:38:56