Save
ボタンを押すと、actionsDialogのデータを検証する必要があります。必要な情報が入力され、有効であれば、reasonDialogという2番目のダイアログが表示されます。PrimeFacesでargs.validationFailedをトリガする方法oncomplete
保存されたオブジェクトの非JSF検証は、エラー・メッセージのリストを戻すメソッドを使用して行われます。私は検証が失敗した場合、エラーメッセージはFacesMessageで表示されます。 oncomplete
からif else節をトリガーするには、objectsBean.validate
でどうすればよいですか?
<p:dialog id="actionsDialog" widgetVar="actionsDialog" dynamic="true"
resizable="false" width="800" modal="true">
<ui:include src="/WEB-INF/flows/custom-flow/genericObject.xhtml"/>
<f:facet name="footer">
<p:commandButton value="Save" update="msgs"
oncomplete="if (args.validationFailed) {reasonDialog.hide()} else {reasonDialog.show()}"
actionListener="#{objectsBean.validate}"/>
<p:commandButton value="Cancel" immediate="true" oncomplete="actionsDialog.hide()" />
</f:facet>
</p:dialog>
JSFライフサイクルが続き、モデル値を更新してアプリケーションを起動します。これを行うか、例外をスローします。検証が失敗したときにページのレンダリングを停止する方法はありますか? – MounirReg
@Mounir:これは正常な動作ではありません。ここではhttp://stackoverflow.com/tags/jsf/infoで指示されているような質問をするだけで、問題が発生していない場合に備えて、問題を観察し、デバッグし、解決することができます。 – BalusC