PrimeFaces禁用取消按钮验证

Pao*_*one 22 validation primefaces jsf-2

在一个表单中,我有一些带有两个commandButton的inputText,一个用于accept,一个用于cancel.如何仅对取消按钮禁用验证?

<h:form id="detailsForm">
  <p:inputText id="editUsername" value="#{userController.editUser.usrUsername}" />
  <p:inputText id="editFirstName" value="#{userController.editUser.usrFirstName}" />
  <p:inputText id="editLastName" value="#{userController.editUser.usrLastName}" />
  <p:commandButton value="Accept" update=":detailsForm" actionListener="#{userController.onDetailsEditAccept}" />
  <p:commandButton value="Cancel" update=":detailsForm" actionListener="#{userController.onDetailsEditCancel}" />
</h:form>
Run Code Online (Sandbox Code Playgroud)

我已经尝试required="false"在字段上插入但它没有用.我也尝试<f:validateBean disabled="true" />在字段上插入但它没有用.

Fri*_*itz 33

immediate="true"在取消中使用该属性commandButton.通过跳过" 应用请求值"," 处理验证"和" 更新模型值"阶段,这将跳过表单的整个处理.

<p:commandButton value="Cancel" update=":detailsForm" actionListener="#{userController.onDetailsEditCancel}" immediate="true"/>
Run Code Online (Sandbox Code Playgroud)


per*_*ssf 14

使用" process="@this"取消"按钮中的属性.这将阻止提交整个表单.

或者你可以使用p:button(但是这没有actionListener属性).看到这个其他的Q/A.