Что бы метод facesContext.isValidationFailed()
вернулся после фазы ответа рендера, когда проверка не прошла? Он возвращает false
для меня в этом случае.isValidationFailed значение по умолчанию
2
A
ответ
6
Он вернется только true
когда FacesContext#validationFailed()
был назван внутренностями проверки JSF или вашего собственного код следующим образом:
FacesContext.getCurrentInstance().validationFailed();
Насколько JSF внутренний код обеспокоен, только UIInput#processValidators()
и UIViewParameter#processValidators()
неявно называть это когда всякий раз, когда был обнаружен ValidatorException
.
Если оно возвращает false
для вас, то вы, очевидно, выполняете валидацию нестандартным способом. Например, внутри метода действия, пока вы должны использовать реальный Validator
для этого.
После фазы отклика рендеринга (в случае, когда проверка не выполняется), я активировал onchange на входе selectonemenu, который вызывает значениеChangeListener, в котором я проверил isValidationFailed, и он возвращает false, я попробовал getMessageList(), который также возвращает 0 –
Как проверить мой valueChangeListener, если в этом случае проверка не прошла? –
Он заменит новый HTTP-запрос. В конце концов, я думаю, что вы просто достигаете определенного функционального требования. Не стесняйтесь задавать новый вопрос, в котором вы подробно описываете конкретное функциональное требование вместе с некоторым соответствующим кодом неудачной попытки. – BalusC