Ho un Textfield Wicket che contiene un valore interoCome posso verificare i valori nulli in un campo di testo Wicket?
currentValueTextField = new TextField<IntParameter>("valueText", new PropertyModel<IntParameter>(model, "value"));
Sto attaccando un validatore personalizzato a questo, come segue
currentValueTextField.add(new IntegerValidator());
La classe di convalida è
class IntegerValidator extends AbstractValidator<IntParameter> {
private static final long serialVersionUID = 5899174401360212883L;
public IntegerValidator() {
}
@Override
public void onValidate(IValidatable<IntParameter> validatable) {
ValidationError error = new ValidationError();
if (model.getValue() == null) {
AttributeAppender redOutline = new AttributeAppender("style", new Model<String>("border-style:solid; border-color:#f86b5c; border-width: 3px"), ";");
currentValueTextField.add(redOutline);
currentValueTextField.getParent().getParent().add(redOutline);
validatable.error(error);
}
}
}
Tuttavia se non digito nulla nel campo di testo, il mio metodo onValidate()
non viene chiamato.
Qual è il modo consigliato per verificare valori null in questo caso? Mi piacerebbe anche fare il controllo del range sul valore inserito.
Non so su Wicket ma in altri framework web che conosco la convalida non è chiamato per il vuoto campi di testo Alcuni forniscono ulteriori flag per i loro tag per abilitare/disabilitare i controlli richiesti, mentre in altri potrebbe essere necessario effettuare il controllo quando si inseriscono i valori del modulo nel modello (o controllare il modello successivamente). – Thomas