在数据库上我有一个字段" Interval"它以Long类型存储持续时间和天数。在前端,该字段分为两个字段。一个是" Days"另一个是"小时"这样用户可以轻松地设置持续时间。 我现在尝试使用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的理解问题,我希望你能帮助我弄清楚如何让验证器工作。
此致
答案 0 :(得分:0)
感谢您对我的问题的快速回复。 除了这篇文章,我问了我的一个朋友他是否可以帮我这个,他认为它给了我null因为该字段的值没有存储在db上。所以这是一个新手的错误,但不管怎样,谢谢:)