我有一个使用Primefaces p:dialog组件的JSF 2.0页面。用户可以在对话框中输入信息,然后单击“保存/取消”。如果他们有验证错误,则会在对话框中显示。当他们关闭或取消对话框时,我希望任何p:消息组件被消除",即如果用户再次打开对话框,他们将看不到旧的验证消息。
用例是:用户打开对话框,不填写所有必填字段,单击保存,对话框中显示必填字段错误消息。用户单击取消,关闭对话框。用户然后单击该按钮再次打开对话框。我不希望他们看到以前的验证消息(目前他们可以)。
答案 0 :(得分:6)
Ajax-在打开对话框组件之前更新它。
E.g。
<p:commandButton ... update=":dialog" oncomplete="dialog.open()" />
它不仅可以清除消息,还可以输入字段值(或者至少使用正确的默认值保留它们)。