想定ユースケース
レコードの任意の項目のUpdate時にValidateをかけ、問題があればエラーメッセージを表示した上でUpdate処理をロールバックしたい。
解決策
Apex Trigger内でValidateを行い、問題があればaddError()メソッドを利用してレコードページ上にエラーメッセージを表示する。
なお、以下の仕様により、トリガフローでは対応できない
- 障害パスに入っても起点となったCRUDイベントのロールバックはされない。
- ロールバックコンポーネントのロールバック対象はフロー内に記載したCRUD処理のみ。
ApexTriggerのSample
trigger CaseTrigger on Case (before update) {
for(Case record : Trigger.new){
if(
record.Status == 'Solved' &&
record.Status <> trigger.oldMap.get(record.Id).Status
){
if(record.Origin == 'Web'){
record.addError('you cannot update this record.');
}
}
}
}