0

在数据库中,我有一个字段“Interval”,它以 Long 类型存储几天和几小时的持续时间。在前端,该字段分为两个字段。一个是“天”,另一个是“小时”,因此用户可以轻松设置持续时间。我现在正在尝试使用 RangeValidator 来验证输入,但是在提交表单时在字段天数中更改了值,我总是收到以下异常:

Last cause: null
WicketMessage: Exception 'null' occurred during validation org.apache.wicket.validation.validator.RangeValidator on component 2:tabs:panel:form:days

HTML

<form wicket:id="form">
<input wicket:id="days" type="text">
<input wicket:id="submit" type="submit" value="Update">
</form>

爪哇

public IntervalPanel(String id, IModel<Experiment> experimentModel) {
    super(id, experimentModel);
    form = createForm();
    add(form);
}

private Form createForm() {
    Experiment experiment = getModel().getObject();
    long interval = experiment.getInterval();
    TextField days = new TextField("days", new Model<>(interval / 24L));
    RangeValidator rangeValidator = new RangeValidator(Long.MIN_VALUE, Long.MAX_VALUE);
    days.add(rangeValidator);
    Form form = new Form<>("form").add(days);
    return form;        
}

由于我刚刚开始使用 Wicket,这可能只是一个关于如何使用 RangeValidator 的理解问题,我希望你能帮助我弄清楚如何让验证器工作。

问候

4

1 回答 1

0

感谢您对我的问题的快速回复。除了这篇文章,我问我的一个朋友他是否可以帮助我,他认为它给了我 null 因为字段的值没有存储在数据库中。所以这是一个新手错误,但无论如何谢谢:)

于 2015-08-03T17:51:11.310 回答