textareaのバリデータ

しつこくも、またまたハマり中です。

textareaで入力文字数の最大長をチェックしようとしていますが、画面にメッセージが表示できません。

手順としては、

  • ”length200Validator”という200文字以上を制限するValidatorを定義します。
■xxx.dicon
<component name="length200Validator"
	class="org.seasar.jsf.validator.S2LengthValidator">
	<property name="maximum">200</property>
</component>
  • textareaにこのValidatorと”メッセージ表示タグ”を設定します。
■test.html

<textarea id="mycontent"
	m:label="文章"
	m:validator="#{length200Validator.validate}"
	m:escape="false"
	m:rows="20" m:cols="50" wrap="soft" 
	m:value="#{hogeDto.mycontent}"
>
あいうえお</textarea>
<span m:inject="h:message" m:for="mycontent" m:class="error"/>

これで、200文字以上を入力した場合、”メッセージ表示タグ”にエラーメッセージが反映されません。
コンソール上では以下のようにメッセージが出ています。

javax.faces.validator.ValidatorException: バリデーションエラー: "文章": 入力値が長過ぎます. 200文字以下にしてください.
        at org.seasar.jsf.validator.S2LengthValidator.validate(S2LengthValidator.java:61)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.seasar.framework.hotswap.HotswapProxy.invoke(HotswapProxy.java:95)
        at $Proxy35.validate(Unknown Source)


m:required を設定した場合は入力画面上にエラーメッセージがでていたのですが...