Wicket RangeValidator为Long类型的值

时间:2015-08-02 10:08:01

标签: java html wicket rangevalidator

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

此致

1 个答案:

答案 0 :(得分:0)

感谢您对我的问题的快速回复。 除了这篇文章,我问了我的一个朋友他是否可以帮我这个,他认为它给了我null因为该字段的值没有存储在db上。所以这是一个新手的错误,但不管怎样,谢谢:)