Wicket - 监控所有验证错误

时间:2016-01-25 09:49:54

标签: forms validation wicket

是否可以在一个地方监控Wicket中的所有表单/表单组件验证错误?有某种形式的倾听者吗?我想有错误的页面,组件和消息。

获取任何帮助

2 个答案:

答案 0 :(得分:0)

你的问题很通用。你想要实现什么?您是否正在寻找一些“管理”功能来检查Checked / RunTime异常或任何类型的错误,包括简单的必填字段验证错误?

无论如何,您可以将错误消息保存到会话中,并让“管理员”页面以某种表格形式显示所有报告的错误消息。但那些不是实时的,因为用户可能已经纠正了这个价值。

您还可以创建自己的ExceptionPage /错误页面,并捕获不同类型的运行时错误在RequestCycle级别以捕获然后显示在某处。

从设计角度来看,每个页面/组件都可以更容易地将错误消息推送到会话存储中,然后使用 Session.get()。getFeedbackMessages()。iterator(在某处)提取所有报告的错误消息。 )迭代。迭代时,您可以利用FeedbackMessge的布尔方法,如 isError(),isInfo()等,在GUI上使用各种显示格式。

以下是来自Wicket的更多信息(查找覆盖与会话相关的代码段的RuntimeException部分的所有错误页面): https://cwiki.apache.org/confluence/display/WICKET/Error+Pages+and+Feedback+Messages

答案 1 :(得分:0)

您可以在自定义FeedbackCollector#collect()中使用IRequestCycleListener#onDetach()。这将返回所有FeedbackMessage,而不是ValidationError,但它应该完成这项工作。如果Component#error()报告了反馈消息,则您可以使用#getReporter()

与其联系