在数据库中,我有一个字段“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 的理解问题,我希望你能帮助我弄清楚如何让验证器工作。
问候