最佳答案
最小示例对话框:
<p:dialog header="Test Dialog"
widgetVar="testDialog">
<h:form>
<p:inputText value="#{mbean.someValue}"/>
<p:commandButton value="Save"
onsuccess="testDialog.hide()"
actionListener="#{mbean.saveMethod}"/>
</h:form>
</p:dialog>
我希望能够让 mbean.saveMethod 以某种方式阻止对话框在出现问题时关闭,并且只通过咆哮输出消息。在这种情况下,验证器没有帮助,因为在将保存提交到后端服务器之前,没有办法判断 some Value 是否有效。目前,我使用可见属性执行此操作,并将其指向 mbean 中的一个布尔字段。这样做是可行的,但是它会降低用户界面的速度,因为弹出或弹出对话框需要击中服务器。