[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 メーリングリストの案内