Hello,

I'm using a AutoCompleteTextField and I need to assign two validators and a
behavior to it, like this:

            add(telefon = new AutoCompleteTextField("Telefon", new
Model(""), new AbstractAutoCompleteTextRenderer() {
                @Override
                protected String getTextValue(Object object) {
                    ClientDAO client = (ClientDAO)object;
                    return client.getTelefon() + "|" + client.getNume() +
"|" + client.getPrenume();
                }

                @Override
                protected void renderChoice(Object object, Response
response, String criteria){
                    ClientDAO client = (ClientDAO)object;
                    response.write(client.getTelefon() + " - " +
client.getNume() + " " + client.getPrenume());
                }
            }) {
                @Override
                protected Iterator<ClientDAO> getChoices(String input) {
                    return jdbcClienti.getClienti(input).iterator();
                }
            });
            telefon.add(new AjaxFormComponentUpdatingBehavior("onchange"){
                @Override
                protected void onUpdate(AjaxRequestTarget target) {
                    String[] date =
telefon.getModelObject().toString().split("\\|");
                    telefon.setModelObject(date[0]);
                    target.addComponent(telefon);
                    if(date.length == 3) {
                        selectedClient = jdbcClienti.getClientFor(date[1],
date[2], date[0]);
                    }
                }
            });
            telefon.add(new StringValidator.ExactLengthValidator(10));
            telefon.add(new PatternValidator("\\d+"));
            telefon.setRequired(true);

using the code above, the onUpdate method is never called. If I move the
validators inside de onUpdate, all will work just fine until there's an
error and then the behavior will again not work.

How can I make all three work as required? Why don't they?

Thank you,
Cristi Manole

Reply via email to