我有一个包含整数值的 Wicket 文本字段
currentValueTextField = new TextField<IntParameter>("valueText", new PropertyModel<IntParameter>(model, "value"));
我正在为此附加一个自定义 validator ,如下所示
currentValueTextField.add(new IntegerValidator());
validator 类是
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()
方法。
在这种情况下,推荐的检查空值的方法是什么? 我还想对输入的值进行范围检查。
最佳答案
打电话
currentValueTextField.setRequired(true);
根据需要标记该字段并让 Wicket 自行处理空值。您可以轻松地为每个输入字段组合多个 validator 。
任何特殊的错误处理,如添加红色边框或显示错误消息,都可以在表单的 onError
方法中实现,或者通过将 FeedbackBorder
添加到适当的字段来实现.
关于java - 如何检查 Wicket 文本字段中的空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10317731/