我在PrimeFaces中有一个可编辑的dataTable,我正在使用Hibernate Validator进行bean验证。这适用于<p:inputText />
元素。现在我想对可编辑的dataTable进行验证。
这就是发生的事情:
如果我输入有效值,页面会按预期更新 如果我输入无效值,当我点击“保存”时,检查标记没有任何反应 - 单元格仍然可以编辑,不会尝试数据库写入,也不会显示错误消息。
页面上有一个<h:messages />
标记,为什么不显示错误消息?该组件似乎意识到存在问题,因为该行仍处于可编辑状态。
编辑:我启用了日志记录并看到了这个:
21:20:43,874 FINE [javax.enterprise.resource.webcontainer.jsf.context] (http-localhost-127.0.0.1-8080-2) Adding Message[sourceId=demoTable:j_idt11:2:j_idt15,summary=Testing Hibernate Validator Error Message)
所以看起来上下文正在正确更新。似乎我需要做一些事情来触发它呈现的消息。
答案 0 :(得分:0)
在jsf文件中使用以下语句,它应该有效:
<p:messages id="messages" showDetail="true" autoUpdate="true"
closable="true" showSummary="false"/>