[Seasar-user:2751] Re: s2jsf 質問 textarea使用時に複数バリデータ
Yasuo Higa
higa
2005年 10月 27日 (木) 21:19:36 JST
<[E-MAIL ADDRESS DELETED]> の、
"[Seasar-user:2576] s2jsf 質問 textarea使用時に複数バリデータ" において、
"eihan <[E-MAIL ADDRESS DELETED]>"さんは書きました:
ひがです。
> eihanです。
>
>
> s2jsfで質問があります。
> textareaに複数のバリデータを使用させるには、どのような記述を
> したらよいでしょうか?
> actionに記述以外でなんとかならないでしょうか?
>
ValidatorChainを使って実現できます。
diconファイルに次のように登録されているとすると、
<component name="ageValidator" class="org.seasar.jsf.validator.ValidatorChain">
<initMethod name="add"><arg>ageLengthValidator</arg></initMethod>
<initMethod name="add"><arg>ageDoubleRangeValidator</arg></initMethod>
</component>
<component name="ageLengthValidator" class="org.seasar.jsf.validator.S2LengthValidator">
<property name="minimum">1</property>
<property name="maximum">3</property>
</component>
<component name="ageDoubleRangeValidator" class="org.seasar.jsf.validator.S2DoubleRangeValidator">
<property name="minimum">0</property>
<property name="maximum">150</property>
</component>
textareaタグには次のように記述します。
<textarea m:rows="1" m:cols="10" wrap="soft"
m:label="Age" m:required="true"
m:value="#{inputTextareaDto.age}"
m:validator="#{ageValidator.validate}">
1234</textarea>
ただ、現在リリース中のValidatorChainではうまく動きません。m(_ _)m
この問題は、次のリリースで解決されます。
当初のValidatorChainは、1つの項目で複数バリデーションエラー
を発生できたのですが、次のリリースからひとつだけになります。
標準のh:messageでは複数エラーがあっても表示できないので
特に問題ないと思っています。
今だとなぜか、h:messagesタグでエラーが二重に表示されます。
h:messageタグを使う分には、今のバージョンでも大丈夫です。
よろしくお願いします。
---
Yasuo Higa <[E-MAIL ADDRESS DELETED]>
INFORMATION SERVICES INTERNATIONAL-DENTSU,LTD.
Seasar-user メーリングリストの案内