Bas*_*suz 1 jsf primefaces jsf-2
我有一个代码如下:
<p:commandButton value="#{actualProductionEntry.val}" onclick="confirmation.show()"/>
<p:confirmDialog id="confirmDialog" message="Are you sure?" header="Confirm Submission" severity="alert" widgetVar="confirmation">
<p:commandButton id="confirm" value="Yes" oncomplete="confirmation.hide()" action="# {actualProductionEntry.insert(login.userid,login.uid,login.dname,login.rptid)}" update=":df:data :f1:p2 :dp:app"/>
<p:commandButton id="decline" value="No" onclick="confirmation.hide()" type="button" />
</p:confirmDialog>
Run Code Online (Sandbox Code Playgroud)
现在,如何在确认之前进行验证而不影响我的bean?
PrimeFaces args.validationFailed
在ajax响应中返回一个.您可以在oncomplete
属性中检查它.替换你onclick
的
<p:commandButton ... oncomplete="if (!args.validationFailed) confirmation.show()" />
Run Code Online (Sandbox Code Playgroud)
或者,您可以<p:commandButton>
更新<p:confirmDialog>
组件并检查其visible
属性,如果根据FacesContext
回发并且验证未失败:
<p:commandButton ... update="confirmDialog" />
<p:confirmDialog ... visible="#{facesContext.postback and not facesContext.validationFailed}" />
Run Code Online (Sandbox Code Playgroud)