我在p:dialog
中有一个必填输入字段。如果我首先没有为该字段提交任何内容,则会在该字段上发生验证错误。然后我关闭对话框并重新打开它,验证错误仍然存在。关闭对话框后,如何消除验证错误?
答案 0 :(得分:9)
您应该在您打开对话框的元素上使用p:resetInput
。
例如,如果您使用p:commandButton
<p:commandButton value="Open dialog" update=":dialogId" oncomplete="PF('dialogWidget').show()" >
<p:resetInput target=":dialogId" />
</p:commandButton>
这将在打开对话框时重置缓存的值(包括验证消息)。
答案 1 :(得分:3)
我能够重现您的案例,您可以执行以下操作:
closable="false"
。Cancel
按钮。以下示例假设您的对话为名为widgetVar
的{{1}}。
wvDialog
如果需要,您甚至可以在按钮 <p:commandButton value="Cancel" immediate="true" onclick="wvDialog.hide()">
<pe:resetInput for="myDialogFormId />
</p:commandButton>
中调用bean方法。
我希望它有所帮助。
答案 2 :(得分:0)
每次提交表单时都会更新p:dialog
或p:message
您可以使用p:commandButton
的更新属性来完成此操作。
<p:commandButton update="ID_OF_DIALOG" />