Показать модальную панель условной проверки JSF - PullRequest
1 голос
/ 21 марта 2012

В конце концов, я извиняюсь за мой английский. У меня проблема с отображением модальной панели. Я хотел бы показать modalPanel, если проверка формы была правильной, и не показывает ее, если проверка не удалась.

<h:form>
  <rich:calendar id="date" datePattern="dd-MM-yyyy" 
    value="#{Bean.startDate}" required="true"/>

  <a4j:commandButton value="Accept" action="#{Bean.Action}"
    onclick="if(#{empty facesContext.maximumSeverity}) #{rich:component('popUp')}.show();" />

</form>

MaximumSeverity здесь не работает, потому что когда страница загружается в первый раз, MaximumSeverity пусто.

Можно ли позвонить в валидацию жизненного цикла JSF, чтобы узнать, верна ли форма или нет?

Спасибо!

1 Ответ

3 голосов
/ 21 марта 2012

onclick запускает до , когда вызывается действие.Вместо этого вам нужно oncomplete.

Если вы используете JSF 2.0, кстати, лучше использовать FacesContext#isValidationFailed() вместо этого, поскольку обычные сообщения INFO также учитываются в степени важности.

<a4j:commandButton value="Accept" action="#{Bean.Action}"
    oncomplete="if(#{not facesContext.validationFailed}) #{rich:component('popUp')}.show();" />
...