残念ながら、Ralph の投稿は 100% 正しいわけではありません (ページ上部の検証エラーには機能しないという Prady のコメントを参照)。
<apex:pageMessages/>
ページにタグを追加 する
- 次のように、DML ステートメントを try catch で囲みます。
try{
update account; //or anything else
} catch(System.DmlException e) {
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, e.getDmlMessage(0)));
}
これにより、ステートメントが原因で発生した最初の DML エラーが出力されます。これは通常、必要なものです。e.getMessage() を試すこともできますが、これUpdate failed. First exception on row 0 with id 001L000000QgmomIAB; first error: FIELD_CUSTOM_VALIDATION_EXCEPTION
はユーザーフレンドリーではない追加情報 (など) を表示します。の利点はe.getDmlMessage
、エラーが検証ルールによって引き起こされた場合に、検証ルールのみを出力することです。