我有一个必填的输入字段p:dialog
。如果首先我没有为该字段提交任何内容,则该字段会发生验证错误。然后我关闭对话框并重新打开它,验证错误仍然存在。关闭对话框时如何消除验证错误?
问问题
8036 次
3 回答
12
您应该p:resetInput
在必须打开对话框的元素上使用。
例如,如果您使用p:commandButton
<p:commandButton value="Open dialog" update=":dialogId" oncomplete="PF('dialogWidget').show()" >
<p:resetInput target=":dialogId" />
</p:commandButton>
这将在打开对话框时重置缓存的值(包括验证消息)。
于 2015-07-14T13:32:25.550 回答
3
我能够重现您的案例,您可以执行以下操作:
- 制作你的对话
closable="false"
。 - 添加一个
Cancel
隐藏对话框的按钮。 - 在 Cancel 按钮中添加来自Primefaces Extensions 的 resetInput 组件。这将清除表单验证和值。
这是一个假设您的对话框为widgetVar
命名的示例wvDialog
。
<p:commandButton value="Cancel" immediate="true" onclick="wvDialog.hide()">
<pe:resetInput for="myDialogFormId />
</p:commandButton>
actionListener
如果需要,您甚至可以在按钮中调用 bean 方法。
我希望它有所帮助。
于 2013-08-06T22:07:22.957 回答
0
每次提交表单时更新p:dialog
或。
您可以通过使用的更新属性来做到这一点。 p:message
p:commandButton
<p:commandButton update="ID_OF_DIALOG" />
于 2013-08-07T04:18:09.950 回答