JSF標準のコンバータとバリデータ同様に、ADF Facesのコンバータとバリデータには、無効な値によって変換または検証に失敗した場合(必須入力エラーも含む)の固有の要約および詳細メッセージが用意されています。ADF Facesでは、コンバータまたはバリデータのエラー・メッセージの詳細部分を次のいずれかの方法でカスタマイズできます。
カスタム・メッセージには、パラメータに対するオプションのプレースホルダ({0}
、{1}
など)を含めることができます。実行時に、プレースホルダは適切なパラメータ値で置換されます。パラメータの順序は、次のとおりです。
パラメータを使用するメッセージの例は、「ADF Facesのメッセージについて」を参照してください。
次の表に、ADF Facesの特定の変換および検証エラーに対するカスタム詳細メッセージを提供するために使用できる、コンバータ・タグとバリデータ・タグの属性およびメッセージ書式パラメータを示します。
コンバータ・タグ/バリデータ・タグ | 属性および設定可能なパラメータ | 説明 |
---|---|---|
af:convertColor
|
|
入力値が |
af:convertDateTime
|
|
|
af:convertDateTime
|
|
|
af:convertDateTime
|
|
|
af:convertNumber
|
|
type がcurrencyで、pattern がNULLであるかまたは設定されていないときの数値への変換エラーの場合
|
af:convertNumber
|
|
type がnumberで、pattern がNULLであるかまたは設定されていないときの数値への変換エラーの場合
|
af:convertNumber
|
|
設定された |
af:convertNumber
|
|
type がpercentで、pattern がNULLであるかまたは設定されていないときの数値への変換エラーの場合
|
af:validateByteLength
|
|
入力値が |
af:validateDateTimeRange
|
|
入力値がmaximum で指定された値を超えている場合
|
af:validateDateTimeRange
|
|
入力値がminimum で指定された値未満の場合
|
af:validateDateTimeRange
|
|
入力値が |
af:validateRegExp
|
|
入力値がpattern で指定された値と一致していない場合
|
次の表に、requiredMessageDetail
属性をサポートするADF Facesの編集可能な入力コンポーネントを示します。この属性は、必須入力エラー(値が必須であるが何も指定されていない場合)に対するカスタム詳細メッセージの提供に使用できます。
コンポーネント・タグ | 属性および設定可能なパラメータ |
---|---|
af:inputText 、af:inputHidden 、af:inputFile 、af:selectInputColor 、af:selectInputDate 、af:selectInputText 、af:selectManyCheckbox 、af:selectManyListbox 、af:selectManyShuttle 、af:selectOneChoice 、af:selectOneListbox 、af:selectOneRadio 、af:selectOrderShuttle
|
|
<af:selectInputColor id="sic1"
value="#{someBean.color1}"
label="Enter or choose a color"
tip="HTML hex color pattern only:#RRGGBB">
<af:convertColor patterns="#RRGGBB"
convertMessageDetail="The color "{0}" you have chosen in "{1}" is not a valid HTML hex pattern "{2}"."/>
</af:selectInputColor>
無効な入力値(例: #FFFFFG)を入力すると、ADF Facesによって、クライアント側で値が検証され、「The color "FFFFFG" you have chosen in "Enter or choose a color" is not a valid HTML hex pattern "#RRGGBB".」という検証アラート・メッセージが表示されます。
<af:selectInputDate id="sid1"
value="#{someBean.date1}"
label="Date of birth"
required="true"
requiredMessageDetail="You must specify "{0}" to apply for a license.">
</af:selectInputDate>
日付を入力しない場合、必須入力エラー・メッセージは「You must specify "Date of birth" to apply for a license.」のように表示されます。
プログラムによってカスタム・メッセージを設定するには、次の表に示すように、コンバータ、バリデータまたは入力コンポーネントのインスタンスで適切なsetterメソッドを使用します。setterメソッドでは、カスタム・エラー・メッセージがString
として受け入れられます。
コンポーネント・タイプ | setterメソッド |
---|---|
ColorConverter
|
setConvertMessageDetail (java.lang.String convertMessageDetail)
|
DateTimeConverter
|
|
NumberConverter
|
|
ByteLengthValidator
|
setMaximumMessageDetail (java.lang.String maximumMessageDetail)
|
DateTimeRangeValidator
|
|
RegExpValidator
|
setNoMatchMessageDetail (java.lang.String noMatchMessageDetail)
|
UIXEditableValue コンポーネント
|
|
注意: UIXEditableValue
コンポーネントには、UIXInput
、UIXSelectBoolean
、UIXSelectInput
、UIXSelectMany
およびUIXSelectOne
コンポーネントが含まれます。
ADF Facesの変換および検証エラーについて
ADF Facesのメッセージおよびキーについて
Copyright © 1997, 2006, Oracle. All rights reserved.