AutoCompleteTextField Problem Submitting
Hello, I have an AutoCompleteTextField which works just fine. But when I select any of the given values from the list the validator tells me : xxx is not a valid value... perhaps you have any idea what I can do. Code: private AutoCompleteTextFieldSubject subject = new AutoCompleteTextFieldSubject(subject, new ModelSubject(event.getSubject()), autoCompleteRenderer) { /** * generated UID. */ private static final long serialVersionUID = -928631288762101540L; @Override protected IteratorSubject getChoices(String term) { ListSubject ret = new LinkedListSubject(); ListSubject subjects = controller.getAllSubjects(); for (Subject subject : subjects) { if (subject.getName().startsWith(term)) { ret.add(subject); } } return ret.iterator(); } }; Thanks, Sebastian
Re: AutoCompleteTextField Problem Submitting
I had the same problem, its something related to converters or how your text value is converted to ( in your case ) Subject - and as there is no converter for that - it is just failing. What I've done is set the model to null and added a method getChoice which does the conversion. This is not very convenient way but it works. Maybe Igor would have any suggestions how to solve this in a better way? Žilvinas Vilutis Mobile: (+370) 652 38353 E-mail: cika...@gmail.com On Wed, May 12, 2010 at 7:22 AM, Sebastian Gabriel sebastian.gabr...@hs-augsburg.de wrote: Hello, I have an AutoCompleteTextField which works just fine. But when I select any of the given values from the list the validator tells me : xxx is not a valid value... perhaps you have any idea what I can do. Code: private AutoCompleteTextFieldSubject subject = new AutoCompleteTextFieldSubject(subject, new ModelSubject(event.getSubject()), autoCompleteRenderer) { /** * generated UID. */ private static final long serialVersionUID = -928631288762101540L; @Override protected IteratorSubject getChoices(String term) { ListSubject ret = new LinkedListSubject(); ListSubject subjects = controller.getAllSubjects(); for (Subject subject : subjects) { if (subject.getName().startsWith(term)) { ret.add(subject); } } return ret.iterator(); } }; Thanks, Sebastian
Re: AutoCompleteTextField Problem Submitting
Thanks for your fast answer. I have a question about your solution. You say setting the model to null and adding a getChoice method would solve the problem. This means that I set the AutoCompleteTextField type to String and the String in the AutoCompleteTextField has to be unique in order to identify the right object, hasn't it? Thanks Sebastian Am 12.05.2010 um 19:26 schrieb Zilvinas Vilutis: I had the same problem, its something related to converters or how your text value is converted to ( in your case ) Subject - and as there is no converter for that - it is just failing. What I've done is set the model to null and added a method getChoice which does the conversion. This is not very convenient way but it works. Maybe Igor would have any suggestions how to solve this in a better way? Žilvinas Vilutis Mobile: (+370) 652 38353 E-mail: cika...@gmail.com On Wed, May 12, 2010 at 7:22 AM, Sebastian Gabriel sebastian.gabr...@hs-augsburg.de wrote: Hello, I have an AutoCompleteTextField which works just fine. But when I select any of the given values from the list the validator tells me : xxx is not a valid value... perhaps you have any idea what I can do. Code: private AutoCompleteTextFieldSubject subject = new AutoCompleteTextFieldSubject(subject, new ModelSubject(event.getSubject()), autoCompleteRenderer) { /** * generated UID. */ private static final long serialVersionUID = -928631288762101540L; @Override protected IteratorSubject getChoices(String term) { ListSubject ret = new LinkedListSubject(); ListSubject subjects = controller.getAllSubjects(); for (Subject subject : subjects) { if (subject.getName().startsWith(term)) { ret.add(subject); } } return ret.iterator(); } }; Thanks, Sebastian - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: AutoCompleteTextField Problem Submitting
Wait, I lied a little :) I use new ModelType( null ), so no value is being set to model object. Actually I've ported the impl of AbstractAutoCompleteTextField as described in https://cwiki.apache.org/WICKET/autocomplete-using-a-wicket-model.html so and use the findChoice method for selected value resolution. Žilvinas Vilutis Mobile: (+370) 652 38353 E-mail: cika...@gmail.com On Wed, May 12, 2010 at 11:32 AM, Sebastian Gabriel sebastian.gabr...@hs-augsburg.de wrote: Thanks for your fast answer. I have a question about your solution. You say setting the model to null and adding a getChoice method would solve the problem. This means that I set the AutoCompleteTextField type to String and the String in the AutoCompleteTextField has to be unique in order to identify the right object, hasn't it? Thanks Sebastian Am 12.05.2010 um 19:26 schrieb Zilvinas Vilutis: I had the same problem, its something related to converters or how your text value is converted to ( in your case ) Subject - and as there is no converter for that - it is just failing. What I've done is set the model to null and added a method getChoice which does the conversion. This is not very convenient way but it works. Maybe Igor would have any suggestions how to solve this in a better way? Žilvinas Vilutis Mobile: (+370) 652 38353 E-mail: cika...@gmail.com On Wed, May 12, 2010 at 7:22 AM, Sebastian Gabriel sebastian.gabr...@hs-augsburg.de wrote: Hello, I have an AutoCompleteTextField which works just fine. But when I select any of the given values from the list the validator tells me : xxx is not a valid value... perhaps you have any idea what I can do. Code: private AutoCompleteTextFieldSubject subject = new AutoCompleteTextFieldSubject(subject, new ModelSubject(event.getSubject()), autoCompleteRenderer) { /** * generated UID. */ private static final long serialVersionUID = -928631288762101540L; @Override protected IteratorSubject getChoices(String term) { ListSubject ret = new LinkedListSubject(); ListSubject subjects = controller.getAllSubjects(); for (Subject subject : subjects) { if (subject.getName().startsWith(term)) { ret.add(subject); } } return ret.iterator(); } }; Thanks, Sebastian