java - 如何检查 Wicket 文本字段中的空值?

标签 java wicket

我有一个包含整数值的 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/

相关文章:

javascript - 如何在 Wicket 中重新编码 ajax 行为或阻止请求

java - 在 Spring Boot 2 中使用实体管理器时,没有类型 'javax.persistence.EntityManager' 的合格 bean

Java上传文件ftp服务器

java - 如何在 Apache(不是 Tomcat)服务器上执行基于 Java 的 OWL 推理器?

java - 防止 Wicket 8 AjaxEventBehavior onChange 为不在子页​​面上提交表单

java - Wicket:有状态页面中的无状态 AJAX 行为,无需序列化

java - 有没有办法用密码保护文件夹?

java - 在 JTable 中插入后如何进行排序(RowSort)?

java - 门线模型

java - RefreshingView 与 ListView 有何不同?