When the Save
button is pressed, the data from the actionsDialog should be validated. If the required information is entered and valid, a second dialog called reasonDialog would be displayed.
Non-JSF validation of the saved object is done with a method that returns a list of error messages. I case the validation fails the errors messages are displayed with FacesMessage. How should I do in objectsBean.validate
to trigger the if else clause from oncomplete
?
<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>
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…