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文字以下にする必要があります。

ページ・デザイナで検証を作成するには:

  1. ページ・デザイナでページを表示します。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
    2. アプリケーションを選択します。
    3. ページを選択します。
    ページ・デザイナが表示されます。
  2. 左ペインで「プロセス」タブをクリックします。
  3. 「検証」を右クリックして、「検証の作成」を選択します。

    検証属性がプロパティ・エディタに表示されます。属性は、グループに編成されます。

    ノート:

    グループまたは属性を検索するには、「フィルタ・プロパティ」フィールドにキーワードを入力します。プロパティ・エディタにグループまたは属性が表示されます。または、「グループに移動」をクリックしてグループを選択できます。

  4. 指定名前: 検証の名前を入力します。開発者がチェックする条件を簡単に識別できるように、わかりやすい名前を付けてください。
  5. 実行オプション順序: この検証の順序を入力します。これによって実行の順序が決まります。
  6. 次の「検証」属性を編集します。
    1. 検証編集可能リージョン: 関連するリージョンを選択します。
    2. 検証タイプ: この検証に対してテストする等価のタイプを選択します。選択によっては、この検証を完全に定義するために1つ以上の追加属性が必要となります。
      検証が等価テストをパスした場合、またはTRUEと評価された場合、検証エラー・メッセージは表示されません。検証エラー・メッセージは、検証が等価テストに失敗した場合、FALSEと評価された場合、または空でないテキスト文字列が返された場合に表示されます。
    3. 検証常に実行: この検証を常に実行するかどうかを指定します。
      「オン」に設定した場合、ページを送信したボタンに対して定義されている「検証の実行」の設定に関係なく、この検証は常に評価されます。「オフ」に設定した場合、この検証は、トリガー元のボタンの「検証の実行」の設定が「オン」の場合にのみ評価されます。
  7. 次の「エラー」属性を編集します。
    1. エラーエラー・メッセージ: エラー・メッセージのテキストを入力します。
    2. エラー表示位置: この検証のエラー・メッセージが表示される位置を選択します。
      検証エラー・メッセージは、別のエラー・ページに表示したり、既存ページ内にインラインで表示することができます。インライン・エラー・メッセージは、ページ・テンプレートの一部として定義されている「関連付けられたアイテム」ラベルの下/「通知」領域内に表示されます。
    3. エラー関連付けられたアイテム: この検証エラー・メッセージが表示されるアイテムを選択します。
      アイテムを選択し、エラー・メッセージの表示位置に「フィールドでインライン表示」が含まれる場合、エラー・メッセージは指定されたアイテム・ラベルの下に表示されます。エラー・メッセージの表示位置に「フィールドでインライン表示」が含まれない場合、この属性はエラー・メッセージの表示に影響しません。
  8. 「保存」をクリックします。

16.2.4 検証の編集

ページ・デザイナで検証を編集します。

ページ・デザイナで検証を編集するには:

  1. ページ・デザイナでページを表示します。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
    2. アプリケーションを選択します。
    3. ページを選択します。
    ページ・デザイナが表示されます。
  2. 左ペインで「プロセス」タブをクリックします。
  3. 「検証中」を展開してから「検証」を展開し、検証を選択します。
    検証属性がプロパティ・エディタに表示されます。属性は、グループに編成されます。

    ノート:

    グループまたは属性を検索するには、「フィルタ・プロパティ」フィールドにキーワードを入力します。プロパティ・エディタにグループまたは属性が表示されます。または、「グループに移動」をクリックしてグループを選択できます。

  4. プロパティ・エディタで、適切な属性を編集します。

    ヒント:

    属性についてさらに学習するには、プロパティ・エディタで属性を選択し、中央ペインで「ヘルプ」タブをクリックして、参照してください。

  5. 「保存」をクリックします。

16.2.5 検証の実行タイミングの決定について

「常に実行」属性を編集して、検証を実行するタイミングを決定します。

「常に実行」属性は、ページが送信されるときに検証を実行するかどうかを決定します。この属性は、ページを送信する、ボタンまたは特定のページ・アイテムに使用します。「常に実行」属性には2つのオプションがあります。

  • 「オン」: 検証は、ページ上のボタンまたはアイテムの検証設定とは無関係に常に実行されます。

    たとえば、現行ユーザーに現行レコードの変更や削除を許可するかどうかを決定するセキュリティ・チェックとしての検証の場合は、「オン」を選択します。これにより、いずれの操作に対しても検証が実行され、権限のないユーザーによる変更を防ぐことができます。

  • 「オフ」: 検証は、ページを送信するために使用されるボタンまたはアイテムの「検証の実行」属性が「オン」に設定されているときにのみ実行されます。

    たとえば、ユーザーが単にレコードを削除しようとしているときに、アイテムが数値であることを検証してエラー・メッセージを表示しても役立ちません。そのシナリオでは、ユーザーが「作成」または「変更の適用」ボタンをクリックしたときにのみ検証を実行する必要があります。

    この動作を実現するには:

    • 検証で、「常に実行」「オン」を設定します。

    • 「作成」および「変更の適用」ボタンでは、「検証の実行」「オン」を設定します。

    • 「削除」ボタンでは、「検証の実行」「オフ」に設定し、不要な検証を回避します。

関連項目:

検証の編集

16.2.6 検証エラー・メッセージの表示方法の定義について

「エラー・メッセージ」および「エラー・メッセージ」属性を編集して、検証メッセージの表示方法を制御します。

検証エラー・メッセージをインライン表示(検証が実行されたページで表示)するか、個別のエラー・ページで表示するかを選択できます。

次の検証属性を構成することによって、検証エラー・メッセージの表示方法を定義します。

  1. エラー, エラー・メッセージ: このフィールドにエラー・メッセージ・テキストを入力します。関連付けられているページ・アイテムのラベルのプレースホルダとして#LABEL#を使用したり、関連付けられている編集可能リージョン列のヘッダーとして#COLUMN_HEADER#を使用することができます。エラー表示位置が「エラー・ページ」に設定されている場合、プレースホルダはサポートされません。

  2. エラーc: この検証のエラー・メッセージが表示される位置を選択します。検証エラー・メッセージは、別のエラー・ページに表示したり、既存ページ内にインラインで表示することができます。インライン・エラー・メッセージは、ページ・テンプレートの一部として定義されている「関連付けられたアイテム」ラベルの下/「通知」領域内に表示されます。

    オプションは次のとおりです。

    • 「フィールドおよび通知でインライン表示」: エラーは、フィールド・ラベル内および通知領域(ページ・テンプレートの一部として定義される)にインラインで表示されます。

    • 「フィールドでインライン表示」: エラーはフィールド・ラベル内にインラインで表示されます

    • 「通知でインライン表示」: エラーは、通知領域(ページ・テンプレートの一部として定義される)にインラインで表示されます。

    • 「エラー・ページ」: エラーは、個別のエラー・ページに表示されます。すべての処理(検証を含む)を停止するハード・エラーを作成する場合は、エラー・ページにエラーを表示する必要があります。

  3. エラー, 関連付けられたアイテム(または関連付けられた列): この検証のエラー・メッセージを表示するアイテム(または列)を選択します。

    アイテムを選択し、エラー・メッセージの表示位置に「フィールドでインライン表示」が含まれる場合、エラー・メッセージは指定されたアイテム・ラベルの下に表示されます。エラー・メッセージの表示位置に「フィールドでインライン表示」が含まれない場合、この属性はエラー・メッセージの表示に影響しません。

関連項目:

検証の編集

16.2.7 検証の条件付き実行

「サーバー側の条件」属性を構成して、検証をいつ実行するか、および実行するかどうかを制御します。

次の「サーバー側の条件」属性を構成することによって、検証をいつ実行するか、および実行するかどうかを制御できます。

  1. サーバー側の条件ボタン押下時: このページ処理コンポーネントを、指定したボタンがクリックされたときのみ実行する場合、リストからボタンを選択します。このボタンの条件を他の条件と統合し、このページ処理コンポーネントがいつ実行されるかをさらに絞り込むことができます。

    ボタンがクリックされない場合、検証を実行する前に他の条件が評価されます。

  2. サーバー側の条件タイプ: このコンポーネントをレンダリングまたは処理するために満たす必要がある条件タイプをリストから選択します。
    オプションのリストを表示するには、プロパティ・エディタで「タイプ」属性を選択し、中央ペインで「ヘルプ」タブをクリックします。

16.2.8 「エラーに移動」リンクの変更について

「エラーに移動」テキストを変更して、デフォルトのテキストを変更するか、デフォルトでは翻訳されない言語に翻訳します。

関連付けるアイテムを定義すると、Oracle Application Expressによって、対応するエラー・メッセージの隣の通知表示位置に「エラーに移動」リンクがレンダリングされます。クリックすると、ユーザーのフォーカスが関連付けられたアイテムに移動します。

「エラーに移動」テキストを変更して、デフォルトのテキストを変更したり、Oracle Application Expressによってデフォルトでは翻訳されない言語に翻訳することができます。いずれの場合でも、必要なテキストと言語とともに、APEX.GO_TO_ERRORという名前のテキスト・メッセージを定義してください。さらに、APEX.GO_TO_ERRORテキスト・メッセージのテキストを単なるシングル・スペースに設定して、この機能を無効化し、「エラーに移動」リンクを削除できます。