psi*_*yev 0 apache validation wicket
我已经将自定义验证添加到我的页面,并且在我点击UI上的"保存"按钮后,从业务逻辑层调用此验证AjaxSubmitLink.
在我的页面上,我有apache wicket DateTimeField,但它的验证无法正常工作:错误消息没有出现FeedbackPanel,这是在页面上添加的,我的自定义验证正确显示在那里.
所以例如我用"321"填充小时字段,我将在控制台中出错:
警告org.apache.wicket.protocol.http.WebSession - 组件目标反馈消息未被删除.这可能是因为您在页面上缺少FeedbackPanel.消息:[FeedbackMessage message ="找不到语言[en]的密钥[hours.RangeValidator]的翻译!",reporter = hours,level = ERROR]
也许有人有类似的问题,并有解决方案吗?
谢谢!
因为您执行Ajax-Request,所以必须将反馈面板添加到您的AjaxRequestTarget(因此它会在每个请求时自行更新).
您必须覆盖该onError方法:
add(new AjaxSubmitLink() {
@Override
protected void onError(final AjaxRequestTarget target, final Form form) {
target.addComponent(yourFeedbackPanel);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1785 次 |
| 最近记录: |