0

次の oncomplete ルールを持つ「保存」ボタンを含む Primefaces ダイアログがあります。

<p:dialog id="dialogId" widgetVar="dialogWidget">
     ...
    <p:commandButton value="Save" async="true"
                     oncomplete="if (!args.validationFailed &amp;&amp; #{xp:hasNoMessagesToDisplay(dialogId)}) dialogWidget.hide()" 
                     partialSubmit="true" process="dialog"/> 

</p:dialog>

#{xp:hasNoMessagesToDisplay}指定されたdialogIdに関連付けられたFacesMessagesがあるかどうかを確認するカスタムEL関数です。問題は、この関数の評価が、ダイアログ用に HTML がレンダリングされるとき (最初のページの読み込み時など) にのみ行われることです。oncomplete Javascript が評価されるとき (つまり、その場で) 評価される関数が必要です。

Primefaces の "args" Javascript オブジェクトを拡張して追加情報を含めることは可能ですか、または代替アプローチは何ですか?

4

1 に答える 1

1

私に解決策を与えたこの投稿からアイデアを得ました:

FacesContext.getCurrentInstance().validationFailed();ダイアログのFacesMessagesを作成して、JSF検証の失敗を示す場合に使用します。

oncomplete="if (!args.validationFailed) dialogwidget.hide()"

十分なものです。これがどのような意味を持つのかわかりません。ただ待って見てください。

于 2013-03-05T21:54:50.020 に答える