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 に答える