Как выполнить проверку после фазы проверки, если проверка не удалась? - PullRequest
0 голосов
/ 03 февраля 2012

Я написал PhaseListener, в котором я проверяю этап проверки.Есть ли способ, с помощью которого я могу проверить в методе afterPhase() слушателя, что проверка завершилась неудачно, и следующей фазой после фазы проверки будет фаза ответа визуализации.

Ответы [ 3 ]

6 голосов
/ 03 февраля 2012

Если вы используете JSF 2.0, просто используйте FacesContext#isValidationFailed(), чтобы проверить его.

if (context.isValidationFailed()) {
    // Validation has failed.
}

Кстати, вы также можете проверить это на стороне вида следующим:

<h:panelGroup rendered="#{facesContext.validationFailed}">
    <p>Validation has failed.</p>
</h:panelGroup>
3 голосов
/ 03 февраля 2012

Использовать максимальную серьезность для ошибки в FacesContext

Severity maximumSeverity = FacesContext.getCurrentInstance().getMaximumSeverity();
boolean validationFailed=false;
if (maximumSeverity != null
        && (maximumSeverity==FacesMessage.SEVERITY_ERROR || maximumSeverity
            ==FacesMessage.SEVERITY_FATAL)) {
    validationFailed=true;
}

Если значение validationFailed равно true, то присутствуют некоторые сообщения об ошибках.

1 голос
/ 03 февраля 2012

Как насчет использования FacesContext, можете ли вы проверить наличие сообщений в очереди? Например.

FacesContext context = FacesContext.getCurrentInstance();
Iterator<FacesMessage> messages = context.getMessages();

надеюсь, что это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...