Подтвердить что ты не робот

PrimeFaces отключает проверку на кнопке отмены

В форме у меня есть несколько inputText с двумя командами, один для accept и один для отмены. Как отключить проверку только для кнопки отмены?

<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>

Я уже пытался вставить required="false" в поля, но это не сработало. Я также попытался вставить <f:validateBean disabled="true" /> в поля, и это не сработало.

4b9b3361

Ответ 1

Используйте атрибут immediate="true" в вашем отмене commandButton. Это пропустит всю обработку формы, жестко, пропустив значения "Запросить заявки", "Проверки процессов" и "Обновить значения модели".

<p:commandButton value="Cancel" update=":detailsForm" actionListener="#{userController.onDetailsEditCancel}" immediate="true"/>

Ответ 2

Используйте атрибут process="@this" в кнопке Отмена. Это предотвратит отправку всей формы.

Или вы можете использовать p:button вместо этого (однако это не имеет атрибута actionListener). Смотрите этот другой Q/A

Ответ 3

если вы не хотите отправлять форму. Вы должны использовать только <p:button>. <p:commandButton> представляет форму.

<p:button value="delete All"
action="#{reloadBean.purge}" update="@form"/>