2012-04-18 103 views
5

我有一个使用Primefaces p:dialog组件的JSF 2.0页面。用户可以在对话框中输入信息并点击保存/取消。如果他们有验证错误,它会显示在对话框中。当他们关闭或取消对话框时,我想让任何p:消息组件被“消除”,即如果用户再次打开p对话框,他们将不会看到旧的验证消息。如何从p:对话框中消除p:消息关闭?

用例为:用户打开对话框,不填写所有必填字段,单击保存,在对话框中显示必填字段错误消息。用户点击取消关闭对话框。用户然后单击按钮再次打开对话框。我不希望他们看到以前的验证消息(目前他们可以)。

回答

6

Ajax-在打开它之前更新对话框组件。

E.g.

<p:commandButton ... update=":dialog" oncomplete="dialog.open()" /> 

它不仅会清除消息,而且还会输入字段值(或者至少保留正确的默认值)。

+0

感谢 - 作品像一个魅力! – BestPractices 2012-04-18 15:27:46

+0

不客气:) – BalusC 2012-04-18 15:28:31

+0

如果我还想清除输入字段值,该怎么办? (这似乎并没有这样做) – BestPractices 2012-04-18 15:54:35