immediate 属性の慎重な使用
immediate 属性が true に設定されている Visualforce コンポーネントでは、ページ上の関連付けられた項目の入力規則が処理されずにアクションが実行されます。この属性は、完了後にページから移動するアクションをコンポーネントで実行する場合のみ使用する必要があります。
コンポーネントの動作に基本的なナビゲーション機能以上のものが含まれている場合は、機能上の問題が発生します。immediate="true" ではページのデータモデルが更新されないため、アクション中に行われた変更はページのデータモデルには反映されません。この不一致により、不確定な動作やデータの破損が発生する可能性があります。
immediate 属性は、キャンセルアクションにのみ使用することをお勧めします。次の例に、この属性の適切な使用方法を示します。ユーザーが [Cancel (キャンセル)] をクリックすると、ユーザーに入力規則エラーの修正を要求することなく <apex:CommandLink> コンポーネントで cancelApplication をすぐに実行します。
1<apex:CommandLink action="{!cancelApplication}" value="Cancel" styleClass="btn" id="btnCancel" immediate="true">