是否可以在一个地方监控Wicket中的所有表单/表单组件验证错误?有某种形式的倾听者吗?我想有错误的页面,组件和消息。
获取任何帮助
答案 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()
。