ADF Facesバリデータについて

すべてのADF Facesバリデータがjavax.faces.validator.Validatorインタフェースを実装します。ADF Facesバリデータは、oracle.adf.view.faces.validatorにパッケージ化されています。提供されているADF Facesバリデータ・クラスのセットには、次のリストに示すように、文字列バイト長、日付範囲および式に関する検証機能が備わっています。

ADF Facesバリデータの詳細は、oracle.adf.view.faces.validator.ByteLengthValidatororacle.adf.view.faces.validator.DateTimeRangeValidatorおよびoracle.adf.view.faces.validator.RegExpValidatorに関するJavadocを参照してください。

注意: 必須値をチェックするには、コンポーネントでrequired属性を使用してください。必須入力フィールドを検証するためのバリデータ・クラスはありません。

ADF Facesバリデータとそのタグ

提供されているADF Facesバリデータ・クラスとそのタグのセットは、次のとおりです。

タグ クラス 登録済ID
af:validateByteLength ByteLengthValidator oracle.adf.ByteLength
af:validateDateTimeRage DateTimeRangeValidator oracle.adf.DateTimeRange
af:validateRegExp RegExpValidator oracle.adf.RegExp

サポートされているタグ属性のリストは、「リファレンス: ADF Facesコンバータおよびバリデータ」を参照してください。

タグを使用するには、提供されているタグをコンポーネント内にネストします。次に、タグの属性を使用して、コンポーネント・データに対して設定可能な値を構成します。次に例を示します。

<af:selectInputDate id="mdf3" 
                    value="2004-11-25" 
                    tip="min=2004-11-16 max=2004-12-16" 
                    label="Submission period">

  <af:convertDateTime pattern="yyyy-MM-dd"/>
  <!-- Supports ISO date format strings of the form "yyyy-MM-dd" -->

  <af:validateDateTimeRange minimum="2004-11-16" 
                            maximum="2004-12-16"
                            notInRangeMessageDetail="Date &quot;{0}&quot; in &quot;{1}&quot; does not fall with in {2} : {3}"/>
</af:selectInputDate>      

クライアント側の検証

JSF標準バリデータとは異なり、ADF Facesバリデータでは、サーバー側の検証に加え、クライアント側の検証がサポートされます。ADF Facesのクライアント側の検証は、サーバー側の検証と同様に機能します。ただし、クライアントではJavaScriptが使用される点が異なります。

バイト長、日付範囲および正規表現に関するJavaScript対応のバリデータに加え、ADF Facesには、必須入力テキスト・フィールドに関するJavaScript対応バリデータも用意されています。

ADF FacesのJavaScript対応バリデータは、フォームの発行時にクライアントで実行されます。したがって、エラーはサーバーへのラウンドトリップなしに検出可能です。ただし、ADF Facesアプリケーションのクライアント側の変換と検証を無効にできます。「ADF Facesのクライアント側の変換および検証の無効化」を参照してください。

oracle.adf.view.faces.validator.ClientValidatorインタフェースを使用すると、javax.faces.validator.Validatorの実装である既存のバリデータに独自のクライアント側検証を追加できます。クライアント・バリデータのAPIの詳細は、「ADF Facesのクライアント・コンバータおよびバリデータのAPIについて」を参照してください。

値バインディング

ADF Facesバリデータは、タグの実行フェーズ中ではなく、実際の検証の発生時に値バインディングを評価します。これは、バリデータAPIのsetValueBinding(String name, ValueBinding)およびgetValueBinding(String name)メソッドによってサポートされます。

メッセージのカスタマイズ

ADF Facesでは、検証エラーに関連付けられているFacesMessageの要約および詳細をカスタマイズできます。

要約をカスタマイズするには、形式xxx_MESSAGE_IDxxxは検証チェック・タイプ)のメッセージ識別子のテキストをオーバーライドします。たとえば、MAXIMUM_MESSAGE_IDは、最大値チェックに失敗した場合のFacesMessageに対するメッセージ識別子です。ADF Facesメッセージの識別子およびキーのリストは、「ADF Facesのメッセージおよびキーについて」を参照してください。

バリデータ・エラー・メッセージの詳細部分は、次のいずれかの方法でカスタマイズできます。


af:validatorとf:validatorの違いについて
JSF標準バリデータについて
ADF Facesコンバータについて

ADF Facesコンバータおよびバリデータの使用
カスタムJSFコンバータおよびバリデータの使用