我有一個帶有輸入字段和保存按鈕的jsf表單,如下面的代碼所示。我想實現的是,當點擊保存按鈕時,輸入應該用正則表達式來驗證。如果驗證失敗,則不應顯示保存確認對話框。否則顯示一個保存確認對話框,讓用戶選擇是否保存。<p:commandButton CONDITIONAL onclick事件
在下面的代碼中,儘管出現了條件onclick =「if(#{conditionOK}),但總是顯示對話框,當條件OK返回false時,我不需要確認對話框。我認爲facescontext.isValidateFailed()將不會被重新evalutated。
請幫助:(
所有我想要什麼,只是要檢查,如果正則表達式,驗證返回true。對於這種情況下,應該顯示確認對話框
我的方法可能是錯誤的,很多謝謝你們如果還有其他解決方案
<h:form id="save_all_form">
<p:inputTextarea rows="1" style="width:100%;resize:none"
value="#{cusBean.saveAll}" autoResize="false"
validatorMessage="Wrong format">
<f:validateRegex pattern="#{msgs.pattern}" />
</p:inputTextarea>
<ui:param name="conditionOK"
value="#{facesContext.postback and !facesContext.validationFailed}" />
<p:commandButton value="#{msgs.button_overwrite_all}"
onclick="if(#{conditionOK}){confirmation.show()}"/>
</h:form>
所以當頁面被渲染並且用戶在textarea中輸入了一些不能通過驗證的東西時,你想顯示確認對話框?請詳細解釋一下這個過程。 – user1983983
我已更新我的問題。它討厭有人編輯了這個問題。 –