検証は、編集可能なコンポーネント・データが、モデル・レイヤーに更新される前に規則または条件と照合して検証されるプロセスです。たとえば、入力フィールドに最小長および最大長がある場合があります。コンポーネント・データが検証できないか、または検証規則に合格しない場合、モデルは更新されません。
文字列長および数値範囲に関するチェックを処理するJSF標準バリデータは、javax.faces.validator.Validator
インタフェースを実装します。バリデータは、EditableValueHolder
インタフェースを実装するコンポーネントに設定できます。
提供されているJSF標準バリデータ・クラスとそのタグのセットは、次のとおりです。
タグ | クラス | 名前 | チェック内容 |
---|---|---|---|
f:validateDoubleRange
|
DoubleRangeValidator
|
javax.faces.DoubleRange
|
コンポーネント値が指定範囲内であること。値は、浮動小数点型または浮動小数点に変換可能であることが必要です。 |
f:validateLength
|
LengthValidator
|
javax.faces.Length
|
コンポーネント値の長さが指定範囲内であること。値は、java.lang.String 型であることが必要です。
|
f:validateLongRange
|
LongRangeValidator
|
javax.faces.LongRange
|
コンポーネント値が指定範囲内であること。値は、数値型、またはlong に変換可能なString であることが必要です。
|
バリデータ・タグは、コンポーネント内にタグをネストし、そのタグ属性にコンポーネント・データに対して設定可能な値を指定して使用します。値には、リテラル値または値バインディング式を使用できます。コンポーネントにバリデータが設定されている場合、コンポーネントのrequired
属性がtrueに設定されていると、validate()
メソッドによって、発行された値が最初にチェックされます。次に、バリデータがコールされます。
バリデータは、入力コンポーネント(UIInput、UIXInputおよびUIXSelectInput)にのみ登録できます。1つのコンポーネントに複数のバリデータを登録できます。JSFによって、コンポーネントに追加された順にバリデータがコールされます。
注意: 必須値をチェックするには、入力コンポーネントでrequired
属性を使用してください。必須入力フィールドを検証するための標準のバリデータ・クラスはありません。
提供されているバリデータ・タグの使用方法の詳細は、「提供されているタグを使用したコンポーネントへの標準バリデータの登録」を参照してください。サポートされているタグ属性のリストは、「リファレンス: JSF標準コンバータおよびバリデータ」を参照してください。
さらに複雑な検証規則およびチェックが必要な場合は、独自のカスタム・バリデータを作成できます。カスタム・バリデータの作成およびアプリケーションへの登録の詳細は、「カスタムJSFコンバータおよびバリデータの使用」を参照してください。
ADF Facesのコンバータとバリデータの詳細は、「ADF Facesコンバータおよびバリデータの使用」を参照してください。
変換および検証プロセスについて
変換および検証エラーについて
必須値およびimmediate属性について
JSFでのクライアント側の変換および検証について
JSF標準コンバータおよびバリデータの使用
Copyright © 1997, 2007, Oracle. All rights reserved.