1

毕竟,我很抱歉我的英语。我在显示 modalPanel 时遇到问题。如果表单的验证是正确的,我想显示一个 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生命周期的验证来知道表单是否正确?

谢谢!

4

1 回答 1

3

在调用操作之前onclick运行。你需要。oncomplete

如果您使用的是 JSF 2.0,那么最好使用它,FacesContext#isValidationFailed()因为正常的 INFO 消息也计入严重性。

<a4j:commandButton value="Accept" action="#{Bean.Action}"
    oncomplete="if(#{not facesContext.validationFailed}) #{rich:component('popUp')}.show();" />
于 2012-03-21T13:24:19.680 回答