selectManyCheckboxの出力するlabelタグがIE6で動作しない

S2JSFのselectManyCheckboxでは、チェックボックスに対してlabelタグを出力してくれます。

<label><input name="_id88:_id95" type="checkbox" value="1" />One</label>

ただし、この形式はIE6ではサポートしていないようです。
HTML的には、以下のようにtext値をlabelタグで囲む必要があるようです。
IEが悪い?)

<input id="_id88:_id95" name="_id88:_id95" type="checkbox" value="1" /><label for="_id88:_id95">One</label>

idを振って、labelのスタートタグをひとつ後ろに持っていく感じですね。

というわけで、selectManyCheckboxがIE対応できなくて困っています..orz
S2JSFのorg.seasar.jsf.render.html.HtmlSelectManyCheckboxRenderer.java あたりなんでしょうか。。

inputタグのm:required属性やValidtorをボタンによって無効にしたいんですが..

(前振り)S2JSF1.1系では、Validatorをボタンによって有効/無効にする仕組みがあります。

s2jsf-exampleの『Validator ON/OFF』を参考にするといいでしょう。
http://localhost:8080/s2jsf-example/validator/validator2.html
以下にHTMLテンプレートを抜粋します。

<input id="userName" type="text"
	m:label = "User Name"
    m:value="#{validatorDto.userName}" m:required="true">
    <span m:inject="s:validator" m:binding="#{tuserNameLengthValidator}"/>
</input>
<span m:inject="h:message" m:for="userName"/><br />
<input id="aaa" type="button" value="validation button" m:action="aaa"/>
<input id="bbb" type="button" value="no validation button" m:action="bbb"/>

examples.jsf.dicon.allvalidator.dicon には、ボタン『aaa』の場合だけこのValidatorが有効になるように定義されています。

<component name="tuserNameLengthValidator" class="org.seasar.teeda.extension.validator.TLengthValidator">
	<property name="minimum">2</property>
	<property name="target">"aaa"</property>
</component>

上記の方法に関して、欲しい!と思う機能

1.m:required="true" もボタンによって切り替えたい

例えば、ユーザ登録で『郵便番号から住所を補完する』という画面を作りたい場合、
名前が未入力でエラーになってしまったり。。。という悩みが発生します。

例えばこんな感じで、m:target属性を用意し、登録ボタン(doRegist)だけを対象にできるといいと思います。

<input id="userName" type="text" 
	m:value="#{validatorDto.userName}"
	m:required="true"
	m:target="doRegist"
	>
</input>

2.targetに正規表現を使えるようにしたい。

遷移系は『goXXX』、実行系は『doXXX』とActionのメソッド名を決めておいて、targetには正規表現で指定しておくことで、
Validatorを再利用しやすくなると思っています。

<component name="tuserNameLengthValidator" class="org.seasar.teeda.extension.validator.TLengthValidator">
	<property name="minimum">2</property>
	<property name="target">"do.*"</property>
</component>

3.targetをHTMLで指定できるようにしたい。

HTMLテンプレートでtarget属性を上書きできたりするといいなと思います。

<input id="userName" type="text"
	m:label = "User Name"
    m:value="#{validatorDto.userName}" m:required="true">
    <span m:inject="s:validator" m:binding="#{tuserNameLengthValidator}" m:target="bbb" />
</input>
<input id="aaa" type="button" value="validation button" m:action="aaa"/>
<input id="bbb" type="button" value="no validation button" m:action="bbb"/>

なんか上手くまとまっていませんねぇ。。
Teeda Extentionだとこのあたりは解決しているように見えますが、S2JSFな私にも欲しいです。