Order of Execution Rules: Step 1: Original record is loaded from the database. Step 2: Field-level validations are performed, including maximum field lengths. Step 3: Old values are overwritten with new record values. Step 4: JavaScript validation runs in the browser. References:Order of Execution Rules:https://developer.salesforce.com/docs/atlas.en-us.238.0. salesforce_appdevelopment.meta/salesforce_appdevelopment/apex_triggers_order_of_execution.htm
最新のコメント (最新のコメントはトップにあります。)
正:D、、
正解は **D** です。
[cite_start]提供されたドキュメントの「問題4」[cite: 55-56] の選択肢Bにある記述が、この問題の正解の根拠となります。
### 正解の解説
**D. JavaScript検証はブラウザで実行されます。**
Salesforceの標準UI(ブラウザ)からレコードを保存する場合、サーバー側の処理(実行の順序)が始まる**前**に、まずブラウザ側で基本的な検証が行われます。
特に問題文にある **「依存する選択リスト(連動選択リスト)」** の整合性チェックや、標準の必須項目チェックなどは、JavaScriptによってクライアントサイドで検証され、ここでエラーがある場合はサーバーへの送信自体が行われません。
したがって、時間軸で見るとこれが**最初**に実行されます。
---
### その後の実行順序(サーバーサイド)
ブラウザでの検証を通過した後、サーバーにリクエストが送信され、以下の順序で処理が進みます。
1. **A. 元のレコードがデータベースから読み込まれます。** (サーバー処理のステップ1)
* `insert` の場合は初期化され、`update` の場合は既存のレコードがロードされます。
2. **C. 古い値は新しいレコード値で上書きされます。** (サーバー処理のステップ2)
* リクエストに含まれる新しい値で、メモリ上のレコードが更新されます。
3. (Before Flow / Before Trigger などの実行)
4. **B. 最大フィールド長に対してシステム検証が実行されます。** (サーバー処理のステップ)
* その他の標準検証(必須項目、ユニーク制約など)と共に実行されます。
### 💡 学習のポイント
**「保存ボタンを押した直後」の動き:**
1. **ブラウザ (JS):** 簡易チェック(連動項目、必須など)。 **← ここが最初!**
2. **サーバー:**
* ロード (Load)
* 上書き (Overwrite)
* フロー・トリガー (Flow/Trigger)
* 保存 (Save)