Мне нужна ваша помощь, чтобы лучше это понять. Это мой случай. У меня есть собственный валидатор для каждого из моих элементов управления вводом в форме. Поэтому, когда возникает какая-либо ошибка проверки, я добавляю соответствующий FacesMessage в метод validate. Насколько я понимаю, когда возникает какая-либо ошибка проверки - или когда какие-либо FacesMessages добавляются в методе проверки Custom Validator, он пропускает фазу INVOKE APPLICATION и непосредственно вызывает RENDER RESPONSE PHASE - показывая FacesMessage, который был добавлен в фаза ВАЛИДАЦИИ ПРОЦЕССА - это правильно?
Проблема, с которой я сталкиваюсь, - я добавляю FacesMessage на этапе проверки процесса - из-за ошибки проверки - и добавляю сообщение с подтверждением для действия, которое было выполнено пользователем на этапе вызова приложения - теперь оба отображаются на странице в фазе ОТВЕТА НА РЕНДЕР? - Если мое понимание верно в приведенном выше вопросе - лучше ли условно добавлять подтверждение FacesMessage после подтверждения того, что в текущем FacesContext нет FacesMessages?
Вот как добавляется сообщение:
FacesMessage facesMessage = new FacesMessage(FacesMessage.SEVERITY_ERROR,Constants.invalidMessageDetail,null);
FacesContext.getCurrentInstance().addMessage(null, facesMessage);
throw new ValidatorException(facesMessage);
Вот как это показано:
<h:messages errorClass="ErrorMsg" warnClass="WarningMsg" infoClass="InfoMsg" layout="table" />
Ценю вашу помощь.