validators work on objects not on raw string values.

-igor

On Wed, May 13, 2009 at 10:00 AM, james o'brien <jobr...@spinnphr.com> wrote:
> Hello,I have a converter which I can verify is being called, but when the
> validator is being called it is not being called on the String value but the
> object which causes a ClassCastException.
>
> Here is my converter:
>
> @Override
>
> protected IConverterLocator newConverterLocator() {
>
> ConverterLocator locator = new ConverterLocator();
>
>
> locator.set(types.thing.wc.microsoft.com.CodableValue.class, new IConverter()
> {
>
>
> public Object convertToObject(String arg0, Locale arg1) {
>
> types.thing.wc.microsoft.com.CodableValue cv = new
>  types.thing.wc.microsoft.com.CodableValue();
>
> cv.setText(arg0);
>
> return cv;
>
> }
>
>
> public String convertToString(Object arg0, Locale arg1) {
>
> return ((types.thing.wc.microsoft.com.CodableValue) arg0).getText();
>
> }
>
> });
>
>
> return locator;
>
> }
>
>
> Here is my form:
>
> TextField treatment = new TextField("treatment", new PropertyModel(allergy,
> "treatment"));
>
> treatment.setType(CodableValue.class);
>
> treatment.add(StringValidator.lengthBetween(2, 200));
>
> add(treatment);
>
>
> Here is the error:
>
>
> org.apache.wicket.WicketRuntimeException: Exception
> 'java.lang.ClassCastException: types.thing.wc.microsoft.com.CodableValue'
> occurred during validation
> org.apache.wicket.validation.validator.StringValidator$LengthBetweenValidator
> on component 4:border:addAllergy:treatment
>
> at
> org.apache.wicket.markup.html.form.FormComponent.validateValidators(FormComponent.java:1510)
>
> at
> org.apache.wicket.markup.html.form.FormComponent.validate(FormComponent.java:1102)
>
> at org.apache.wicket.markup.html.form.Form$21.validate(Form.java:1876)
>
> at
> org.apache.wicket.markup.html.form.Form$ValidationVisitor.formComponent(Form.java:165)
>
> at
> org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrderHelper(FormComponent.java:421)
>
> at
> org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrderHelper(FormComponent.java:408)
>
> at
> org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrder(FormComponent.java:385)
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to