![](/img/trans.png)
[英]Specifying default a4j:commandButton when press Enter in JSF form
[英]Conditionally required jsf validation in a4j form
我在jsf / a4j中使用條件評估表達式有一個小問題
這是我的代碼
<a4j:form>
<h:inputText id="id1" value="#{mybean.myvalue}" size="1"
required="#{not mybean.condition}"
rendered="#{not mybean.condition}"
requiredMessage="Put a number in here" />
<h:selectBooleanCheckbox value="#{mybean.condition}">
<a4j:support event="onclick" reRender="id1"/>
</h:selectBooleanCheckbox>
<a4j:commandButton action="#{mybean.myaction}" value="Do something" />
</a4j:form>
布爾復選框有條件地啟用/禁用驗證。
這不起作用:a4j:commandButton只是跳過了驗證。
謝謝。
如果inputText驗證失敗(“過程驗證”階段),則不會更新值mybean.condition (“過程更新”階段)。 由於文本字段使用必填屬性,因此很有可能。
RichFaces文檔的生命周期:
(來源: jboss.org )
如果任何JSF階段失敗,則生命周期將跳至“渲染響應”,以避免對無效輸入進行操作。 您可以使用h:message和h:messages標記來查看報告的錯誤(盡管由於使用的是AJAX,所以必須將它們放在可以重新呈現的內容中)。
我猜想,如果在aj4:support標記上設置ajaxSingle屬性,您將獲得想要的行為。 該文檔說,這將僅提交控件的值,因此該文本字段將不涉及“應用請求值/過程驗證/過程更新”階段。
大豆的范圍是多少? 如果是請求范圍,則在您單擊按鈕時將重置其值,並且可能完全處理了輸入字段(如果渲染解析為“ false”)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.