0

我在这样的对话框中有一个表单:

<p:dialog id="panel" header="Inserisci" widgetVar="dlg1">
  <h:form id="form">
    <p:inputText id="username" value="#{userController.username}" />
    <p:inputText type="password" id="password" value="#{userController.password}" />
    <p:commandButton actionListener="#{userController.insert}" oncomplete="dlg1.hide();" value="Accept" />
  </h:form>
</p:dialog>

单击此对话框会显示一个“插入”按钮。当我单击接受按钮时,表单将使用 Ajax 提交并经过验证。当响应到来时,对话框在任何情况下都会关闭,无论表单是否有效。如何检查表单在客户端 oncomplete 中是否有效并仅在有效时才关闭对话框?顺便说一句,验证是有效的,因为如果我在输入错误数据后再次打开对话框,无效字段会被红色边框包围。我已经尝试使用 onsuccess 更改 oncomplete ,但它不起作用,因为即使表单无效,ajax 请求仍然可以很好地发送。

4

0 回答 0