Как пропустить проверку при нажатии на определенную кнопку?
У меня есть форма с валидатором в одном поле. У меня два h:commandButton
s: Ok и Cancel. Когда я ввожу неверные данные и нажмите «Отмена», я получаю сообщение проверки. Что я должен делать, чтобы валидатор не запускался при нажатии кнопки «Отмена»?
- Использование DataAnnotations с платформой Entity Framework
- Аутентификация со старым паролем больше не поддерживается, используйте пароли типа 4.1
- Разрешить анонимную проверку подлинности для одной папки в web.config?
- Проверка подлинности электронной почты с помощью jQuery
- Выполнение проверки на стороне клиента для пользовательского атрибута
- Подтвердите количество элементов has_many в Ruby on Rails
- Концепция концепции проверки Struts 2
- загрузка jquery дважды вызывает ошибку?
В случае, если вы не используете ajax или все еще используете JSF 1.x, и вам действительно нужно вызвать бизнес-действие в методе cancel()
(т. Е. Просто перезагрузка страницы недостаточна), тогда ваш лучший выбор – добавить immediate="true"
на кнопку. Таким образом, все поля ввода, которые не имеют immediate="true"
будут пропускаться при обработке.
В JSF 2.x гораздо лучше отправить форму
, которая по умолчанию обрабатывает только @this
вместо @form
.
Если вы хотите перейти на другую страницу здесь, добавьте ?faces-redirect=true
к результату в методе cancel()
.
Или, если вам вообще не нужно ссылаться на какие-либо бизнес-действия, просто используйте
котором вы прямо указываете результат (неявный) результат навигации.
Это будет в основном перезагрузка страницы с помощью запроса GET.
не существует в JSF 1.x, но вы также можете просто использовать для этого простой HTML + JS.
Смотрите также:
- Почему атрибут «немедленного» был добавлен в EditableValueHolders?
- Как перемещаться в JSF? Как сделать URL-адрес текущей страницы (а не предыдущей)
- Как заставить валидацию зависеть от нажатой кнопки?