ksh*_*tij 6 salesforce visualforce apex-code
我使用Configuration为对象添加了一些自定义验证.我通过visualforce页面插入该对象记录.我<apex:pageMessages/>在visualforce页面上添加了.我还编写了代码块来捕获异常并显示错误消息ob VF页面.请在下面找到代码块:
catch(DMLException excp)
{
ApexPages.Message msg = new ApexPages.Message(Apexpages.Severity.ERROR, excp.getMessage() );
ApexPages.addMessage(msg);
return null;
}
Run Code Online (Sandbox Code Playgroud)
我仍然无法从自定义验证中获得错误消息.它显示我的错误如下:
插入失败.第0行的第一个例外; 第一个错误:FIELD_CUSTOM_VALIDATION_EXCEPTION, error_message_from_custom_validation_comes_here
这有什么解决方案吗?
您需要像这样获取DML消息:
ApexPages.Message msg = new ApexPages.Message(Apexpages.Severity.ERROR, excp.getdmlMessage(0) );
ApexPages.addMessage(msg);
Run Code Online (Sandbox Code Playgroud)
最好的方法是使用addMessages,注意复数.它的优点是只显示消息详细信息,而对于批量操作,同一消息只显示一次,而且我个人最喜欢的是:它只有一行,所以如果它是一个不可测试的异常,你的覆盖率会更高.
try {
//failed dml operation
} catch(DmlException excp) {
ApexPages.addMessages(excp);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15541 次 |
| 最近记录: |