[JSF-1] [Seasar-user:3634]select子要素のvalidatorが動作しない場合がある Created: 2006-06-06  Updated: 2006-07-24  Resolved: 2006-07-24

Status: Resolved
Project: S2JSF
Component/s: None
Affects Version/s: 1.0.14
Fix Version/s: 1.0.16

Type: Bug Priority: Major
Reporter: manhole Assignee: shot
Resolution: Fixed Votes: 0
Labels: None
Environment:

S2JSF1.0.14
Seasar2.3.8



 Description   

<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が呼ばれて欲しいのですがどうでしょうか。



 Comments   
Comment by shot [ 2006-07-24 ]

SelectProcessor修正しました。

Generated at Tue Apr 15 17:31:15 JST 2025 using Jira 10.5.0#10050000-sha1:9d9d098bb7b67e8dba8da380ba9c3900d82ac3cf.