13

我有一个必填的输入字段p:dialog。如果首先我没有为该字段提交任何内容,则该字段会发生验证错误。然后我关闭对话框并重新打开它,验证错误仍然存​​在。关闭对话框时如何消除验证错误?

4

3 回答 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

我能够重现您的案例,您可以执行以下操作:

这是一个假设您的对话框为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 回答