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