我有一个包含整数值的Wicket Textfield
currentValueTextField = new TextField<IntParameter>("valueText", new PropertyModel<IntParameter>(model, "value"));
Run Code Online (Sandbox Code Playgroud)
我正在附加一个自定义验证器,如下所示
currentValueTextField.add(new IntegerValidator());
Run Code Online (Sandbox Code Playgroud)
验证器类是
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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我在文本字段中没有输入任何内容,onValidate()则不会调用我的方法.
在这种情况下,检查空值的推荐方法是什么?我还想对输入的值进行范围检查.
覆盖默认validateOnNullValue()情况false。
@Override
public boolean validateOnNullValue()
{
return true;
}
Run Code Online (Sandbox Code Playgroud)
这是方法的描述validateOnNullValue():
指示是否验证该值(如果是)
null。如果值为 ,通常需要跳过验证null,除非我们想确保该值确实是null(一种罕见的用例)。扩展此方法并希望确保该值的验证器null应该覆盖此方法并返回true。
| 归档时间: |
|
| 查看次数: |
5543 次 |
| 最近记录: |