Jan Normann Nielsen wrote:

Hey

I don't quite understand how this is possible.

I see the problem. I didn't realize that there were two BaseValidator classes, one that implements Validator, and one that implements IValidator. StringValidator extends the last one which means it can't be used where I want it to.

Best wishes,
Jan

I have a component in my page:

   <component id="nameField" type="TextField">
       <binding name="value" value="ognl:name" />
<binding name="validators" value="validator:string,required,minimumLength=3" />
       <binding name="displayName" value="literal:name" />
   </component>

but when the form rewinds, I get this exception:

java.lang.ClassCastException: org.apache.tapestry.valid.StringValidator
# org.apache.tapestry.form.ValidatableFieldSupportImpl.validate(ValidatableFieldSupportImpl.java:89) # $ValidatableFieldSupport_106bb5cdfa5.validate($ValidatableFieldSupport_106bb5cdfa5.java) # org.apache.tapestry.form.TextField.rewindFormComponent(TextField.java:84) # org.apache.tapestry.form.AbstractFormComponent.renderComponent(AbstractFormComponent.java:115)
[snip]

That is very strange. Line 89 in ValidatableFieldSupportImpl.java says:

           Validator validator = (Validator) validators.next();

But how can this generate a ClassCastException for StringValidator? StringValidator implements Validator as far as I know.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to