[Seasar-user:3636] Re: S2JSF validatorについて

Shinpei Ohtani [E-MAIL ADDRESS DELETED]
2006年 5月 16日 (火) 23:06:41 JST


shotです。


06/05/16 に O.Goto<[E-MAIL ADDRESS DELETED]> さんは書きました:
> 後藤です。
>
> バリデータについていくつか質問があります。
> 1.valueが未入力、または未選択(valueがnull)の場合にvalidateが呼ばれないのは仕様でしょうか。
>
> exampleのvalidator.htmlの「to」に何も入力しないとS2GreaterEqualValidator#validateが呼ばれません。
> <input>タグを<select>タグ(select-one、multipleいずれも)に変えても同じでした。

はい、よばれないです。


> 2.<select>タグ(select-one、multipleいずれも)の<option>要素を静的に指定した場合は
> 値を選択した場合にvalidateが呼ばれます。しかし、
> 動的に指定した場合は値の選択にかかわらずvalidateが呼ばれません。
> これも仕様でしょうか。
>
> exampleのvalidator.htmlの「to」を
>
> a)
> <select id="to" m:label="To" multiple="multiple">
>   <span m:inject="s:validator"
>   m:binding="#{greaterEqualValidator}"
>   m:targetId="from"/>
>   <option value="1">1</option>
>   <option value="2">2</option>
>   <option value="3">3</option>
>   <option value="4">4</option>
> </select>
>
> このようにした場合は値が選択した場合S2GreaterEqualValidator#validateが呼ばれます。
>
> b)
> <select id="to" m:label="To"
> m:value="#{selectManyListboxDto.bbb}"
> m:items="#{selectManyListboxBbbItems}"
> multiple="multiple">
>   <span m:inject="s:validator"
>   m:binding="#{greaterEqualValidator}"
>   m:targetId="from"/>
> </select>
>
> このようにした場合は値の選択にかかわらずS2GreaterEqualValidator#validateが呼ばれません。
>
> 現在、複数の入力項目のうち1つ以上に入力があればOK、1つも入力がなければNGというバリデータを
> 作成したのですが、上記が原因で要件を満たすことができません。
> 特に<select>タグの<option>要素を動的に指定した場合にvalidateが呼ばれないというのは厳しいです。
> 上記1,2のケースでvalidateが呼ばれて欲しいのですがどうでしょうか。
>
> バージョンはS2JSF1.0.14/Seasar2.3.8です。
>
> 以上よろしくお願いします。

調べてみます。
すいませんが、お待ちください。



Seasar-user メーリングリストの案内