category: Java
DATE : 2006/12/12 (Tue)
DATE : 2006/12/12 (Tue)
ユーザの入力値を検証する Validator には以下の2種類があります。
- Backing Bean の、規定の引数を受け付けるメソッド
- javax.faces.validator.Validator インタフェースを実装したクラス
実装した Validator を JSP 内で使用する方法も2種類あります。
- UIInput 系の要素の validator 属性で指定する
- UIInput 系の要素内に Validator を指定した f:validator 要素を含ませる
どの方法で Validator を指定するかは、Validator の種類によって決まります。具体的には、以下のようになります。
Validator の種類 | 指定方法 |
---|---|
メソッド形式 | validator 属性 |
クラス形式 | f:validator 要素 |
例をコードで示すと、次のようになります。ここで、backingBean.validate は backingBean という名前の Backing Bean 内にある validate メソッドを、validator は Validator インタフェースを実装した Validator の ID を表します。また、h:inputText 要素はテキストフィールドを表します。(例に関係のない部分は省略しています)
<%-- メソッド形式の Validator --%> <h:inputText validator="#{backingBean.validate}" /> <%-- クラス形式の Validator --%> <h:inputText> <f:validator validatorId="validator" /> </h:inputText>
これらを互い違いに指定した場合、入力値の検証部分でエラーが発生します。
(;^ω^)一見するとどちらを指定しても良さそうに見えるので、注意が必要ですね。
参考文献
PR
●この記事にコメントする
忍者ブログ [PR]