16.2 検証の理解
検証を使用して、特定のアイテム、ページまたは列に対する編集確認を作成します。
- 検証について
検証について学習します。 - 検証が失敗した場合の処理
検証が失敗した場合の処理について学習します。 - 検証の作成
ページ・デザイナで検証を作成します。 - 検証の編集
ページ・デザイナで検証を編集します。 - 検証の実行タイミングの決定について
「常に実行」属性を編集して、検証を実行するタイミングを決定します。 - 検証エラー・メッセージの表示方法の定義について
「エラー・メッセージ」および「エラー・メッセージ」属性を編集して、検証メッセージの表示方法を制御します。 - 検証の条件付き実行
「サーバー側の条件」属性を構成して、検証をいつ実行するか、および実行するかどうかを制御します。 - 「エラーに移動」リンクの変更について
「エラーに移動」テキストを変更して、デフォルトのテキストを変更するか、デフォルトでは翻訳されない言語に翻訳します。
親トピック: 計算、検証およびプロセスの管理
16.2.1 検証について
検証について学習します。
検証は編集確認です。単一アイテムに固有の検証は、ページ・アイテムの検証です。ページ全体に適用する検証は、ページの検証です。単一列に固有の表形式フォームの検証は、列レベルの検証です。単一列に適用しない表形式フォームの検証は、表形式フォームの行の検証です。
検証を宣言的に定義するには、検証方法を選択します。検証メッセージ・フィールドに、実際の検証の編集確認を入力します。検証が失敗した場合は、後続のページ・プロセスまたは計算が行われないことに注意してください。また、入力した検証は、選択した検証タイプと一貫性がある必要があることも注意してください。
親トピック: 検証の理解
16.2.2 検証が失敗した場合の処理
検証が失敗した場合の処理について学習します。
ページが送信され一部の検証が失敗した場合、Oracle Application Expressは既存のページを、すべてのインライン検証エラーを含めて再表示します。インライン・エラーの表示中は、Application Expressはページ・レンダリング中(つまり、すべての「ロード時%」の表示ポイント)に実行するように定義されている計算、アプリケーション・プロセスまたはページ・プロセス(行の自動フェッチなど)を実行しません。ただし、計算およびプロセスで「インライン検証エラーあり」条件タイプが使用されている場合のみ例外です。
これらの計算およびプロセスをスキップする理由は、これらによりユーザーが入力したデータが変更される可能性があるためです。たとえば、検証エラーを修正するためにユーザーが実際に入力されたデータを必要とする場合に、行の自動フェッチ・プロセスは、変更されたデータをフェッチし、データベースからの値で上書きします。
計算がスキップされた場合、デバッグ出力に次の内容が表示されます。
Do not perform computation because inline validation errors found.
アプリケーションまたはページ・プロセスがスキップされる場合、デバッグ出力に次の内容が表示されます。
Skip because inline validation errors found.
親トピック: 検証の理解
16.2.3 検証の作成
ページ・デザイナで検証を作成します。
ノート:
検証に対して入力するテキストは、3,950文字以下にする必要があります。
ページ・デザイナで検証を作成するには:
親トピック: 検証の理解
16.2.5 検証の実行タイミングの決定について
「常に実行」属性を編集して、検証を実行するタイミングを決定します。
「常に実行」属性は、ページが送信されるときに検証を実行するかどうかを決定します。この属性は、ページを送信する、ボタンまたは特定のページ・アイテムに使用します。「常に実行」属性には2つのオプションがあります。
-
「オン」: 検証は、ページ上のボタンまたはアイテムの検証設定とは無関係に常に実行されます。
たとえば、現行ユーザーに現行レコードの変更や削除を許可するかどうかを決定するセキュリティ・チェックとしての検証の場合は、「オン」を選択します。これにより、いずれの操作に対しても検証が実行され、権限のないユーザーによる変更を防ぐことができます。
-
「オフ」: 検証は、ページを送信するために使用されるボタンまたはアイテムの「検証の実行」属性が「オン」に設定されているときにのみ実行されます。
たとえば、ユーザーが単にレコードを削除しようとしているときに、アイテムが数値であることを検証してエラー・メッセージを表示しても役立ちません。そのシナリオでは、ユーザーが「作成」または「変更の適用」ボタンをクリックしたときにのみ検証を実行する必要があります。
この動作を実現するには:
-
検証で、「常に実行」に「オン」を設定します。
-
「作成」および「変更の適用」ボタンでは、「検証の実行」に「オン」を設定します。
-
「削除」ボタンでは、「検証の実行」を「オフ」に設定し、不要な検証を回避します。
-
16.2.6 検証エラー・メッセージの表示方法の定義について
「エラー・メッセージ」および「エラー・メッセージ」属性を編集して、検証メッセージの表示方法を制御します。
検証エラー・メッセージをインライン表示(検証が実行されたページで表示)するか、個別のエラー・ページで表示するかを選択できます。
次の検証属性を構成することによって、検証エラー・メッセージの表示方法を定義します。
-
エラー, エラー・メッセージ: このフィールドにエラー・メッセージ・テキストを入力します。関連付けられているページ・アイテムのラベルのプレースホルダとして
#LABEL#
を使用したり、関連付けられている編集可能リージョン列のヘッダーとして#COLUMN_HEADER#
を使用することができます。エラー表示位置が「エラー・ページ」に設定されている場合、プレースホルダはサポートされません。 -
エラー、c: この検証のエラー・メッセージが表示される位置を選択します。検証エラー・メッセージは、別のエラー・ページに表示したり、既存ページ内にインラインで表示することができます。インライン・エラー・メッセージは、ページ・テンプレートの一部として定義されている「関連付けられたアイテム」ラベルの下/「通知」領域内に表示されます。
オプションは次のとおりです。
-
「フィールドおよび通知でインライン表示」: エラーは、フィールド・ラベル内および通知領域(ページ・テンプレートの一部として定義される)にインラインで表示されます。
-
「フィールドでインライン表示」: エラーはフィールド・ラベル内にインラインで表示されます
-
「通知でインライン表示」: エラーは、通知領域(ページ・テンプレートの一部として定義される)にインラインで表示されます。
-
「エラー・ページ」: エラーは、個別のエラー・ページに表示されます。すべての処理(検証を含む)を停止するハード・エラーを作成する場合は、エラー・ページにエラーを表示する必要があります。
-
-
エラー, 関連付けられたアイテム(または関連付けられた列): この検証のエラー・メッセージを表示するアイテム(または列)を選択します。
アイテムを選択し、エラー・メッセージの表示位置に「フィールドでインライン表示」が含まれる場合、エラー・メッセージは指定されたアイテム・ラベルの下に表示されます。エラー・メッセージの表示位置に「フィールドでインライン表示」が含まれない場合、この属性はエラー・メッセージの表示に影響しません。
16.2.7 検証の条件付き実行
「サーバー側の条件」属性を構成して、検証をいつ実行するか、および実行するかどうかを制御します。
次の「サーバー側の条件」属性を構成することによって、検証をいつ実行するか、および実行するかどうかを制御できます。
関連項目:
親トピック: 検証の理解
16.2.8 「エラーに移動」リンクの変更について
「エラーに移動」テキストを変更して、デフォルトのテキストを変更するか、デフォルトでは翻訳されない言語に翻訳します。
関連付けるアイテムを定義すると、Oracle Application Expressによって、対応するエラー・メッセージの隣の通知表示位置に「エラーに移動」リンクがレンダリングされます。クリックすると、ユーザーのフォーカスが関連付けられたアイテムに移動します。
「エラーに移動」テキストを変更して、デフォルトのテキストを変更したり、Oracle Application Expressによってデフォルトでは翻訳されない言語に翻訳することができます。いずれの場合でも、必要なテキストと言語とともに、APEX.GO_TO_ERROR
という名前のテキスト・メッセージを定義してください。さらに、APEX.GO_TO_ERROR
テキスト・メッセージのテキストを単なるシングル・スペースに設定して、この機能を無効化し、「エラーに移動」リンクを削除できます。
親トピック: 検証の理解