У меня есть текстовое поле Wicket, содержащее целочисленное значение
currentValueTextField = new TextField<IntParameter>("valueText", new PropertyModel<IntParameter>(model, "value"));
Я прикрепляю к нему настраиваемый валидатор следующим образом
currentValueTextField.add(new IntegerValidator());
Класс валидатора
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);
}
}
}
Однако, если я ничего не ввожу в текстовом поле мой метод onValidate()
не вызывается.
Как в этом случае рекомендуется проверять нулевые значения? Я также хотел бы проверить диапазон введенного значения.