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