Adsenseコード

2017-10-23

【ApexTrigger】トリガ処理で標準画面にエラーメッセージを表示させる処理を入れる

トリガの対象のレコードに対してエラーメッセージを付加することで、
beforeトリガとafterトリガの間で実行されるDML操作をせず、
エラーメッセージを表示させる方法です。


beforeTrigger のロジックの中で
Trigger.new の一部のレコードに以下の処理をします。


Map<Id, sObject > newMap = Trigger.new;
sObject record = newMap.values();
sr.addError( '表示するエラーメッセージ' );



■ApexPages 名前空間に addMessage(message) する方法

以下の方法で ApexPages 名前空間にメッセージを付加させても
うまくはいかないようです。


下記の方法は、Visualforce のコントローラとして Apex を
記述した場合に使える方法です。


大体の挙動は以下を参照してください。


ApexPages.addMessage( new ApexPages.Message(ApexPages.Severity.CONFIRM,'概要メッセージです' ,'詳細メッセージです' ) );
ApexPages.addMessage( new ApexPages.Message(ApexPages.Severity.ERROR,'概要メッセージです' ,'詳細メッセージです' ) );
ApexPages.addMessage( new ApexPages.Message(ApexPages.Severity.FATAL,'概要メッセージです' ,'詳細メッセージです' ) );
ApexPages.addMessage( new ApexPages.Message(ApexPages.Severity.INFO,'概要メッセージです' ,'詳細メッセージです' ) );
ApexPages.addMessage( new ApexPages.Message(ApexPages.Severity.WARNING,'概要メッセージです' ,'詳細メッセージです' ) );



参考
sObject クラス
https://developer.salesforce.com/docs/atlas.ja-jp.208.0.apexcode.meta/apexcode/apex_methods_system_sobject.htm#apex_System_SObject_addError

ApexPages クラス
https://developer.salesforce.com/docs/atlas.ja-jp.200.0.apexcode.meta/apexcode/apex_methods_system_apexpages.htm?search_text=ApexPages





0 件のコメント:

コメントを投稿