我有(在背襯豆映射到小數)在JSF頁面像以下內容的輸入字段JSF/RichFaces的/ A4J ==>組件/場轉換和重新描繪問題
<h:inputText disabled="#{volumeBean.grossVolumeDisabled}" id="grossVolume" size="10" validateOnExit="true" value="#{volumeBean.enteredGrossVolume}" >
<a4j:support ajaxSingle="true" event="onblur" ignoreDupResponses="true" oncomplete="checkFieldValidation(this)" onsubmit="updateDirty()"/>
</h:inputText>
而一個A4J:的commandButton
<a4j:commandButton accesskey="T" action="#{volumeBean.revert}" button-type="ajax" disabled="#{volumeBean.revertDisabled}" id="volumeBean_reset" immediate="true" reRender="volumesTable" value="#{msg.button_RESET}"/>
這裏是重現我的問題的步驟:從頁面上的數據庫,以「刷新」中的所有數據 並請注意,無論發生是否有reRender屬性上A4J設置錯誤:支持
下面是重現以下步驟: - 只是進一步闡明:
- 導航到的BigDecimal輸入字段存在
- 類型AA到現場畫面(應爲數字而是把非數字字符故意)
- 標籤場外
- 通知,報告錯誤「AA」不是一個有效的netVolume
- 點擊上的RESET按鈕
- 所有的變化的領域有其原始值,除了那些已經進入
- 非數字數據,除非用戶手動刪除字段中的非數字數據或刷新整個屏幕,「壞數據」堅持
重置按鈕有'immediate ='true'',所以它應該繞過驗證。 – Naganalf 2011-03-10 23:43:05
由於會話失敗,不正確的值將保存在組件的submittedValue中。你是對的,當immediate =「true」時不會處理對話/驗證,但是當頁面被渲染時,使用來自submittedValue的值。您需要清除已提交的值。 – 2011-03-11 01:02:46
如何自動或以編程方式清除submittedValue? – Nena 2011-03-11 23:13:04