[Seasar-user:3634] S2JSF validatorについて
O.Goto
[E-MAIL ADDRESS DELETED]
2006年 5月 16日 (火) 21:44:54 JST
後藤です。
バリデータについていくつか質問があります。
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 メーリングリストの案内