2012-11-06 77 views
0

使用Rich Faces Calendar組件的defaultLabel屬性正確顯示日期格式的提醒文本,就像我希望的那樣。但是,如果此提醒文本位於可選字段中,則會發生轉換錯誤,就好像它試圖將提醒文本轉換爲日期一樣。rich:calendar defaultLabel屬性導致轉換錯誤

<rich:calendar enableManualInput="true" value="#{participantSummaryManagedBean.dob}" 
    id="dob" locale="US" popup="true" datePattern="MMddyyyy" defaultLabel="MMDDYYYY" 
    showApplyButton="false" converterMessage="Use MMDDYYYY format"> 
</rich:calendar> 

證實RichFaces的版本4.2.2.Final,4.2.3.Final和4.3.0.20121024-M2

有沒有一種方法,以防止或解決此得到什麼?

+0

它看起來像是RichFaces組件中的一個錯誤。把它報告給RichFaces傢伙,他們會給你一個正確的答案。 –

+0

謝謝Luiggi。我已經提交了JIRA。我們將看到會發生什麼。 https://issues.jboss.org/browse/RF-12594 – JustinKSU

+0

值得在commandButton上添加一個onclick,它檢查輸入框的值是否仍然等於defaultLabel並將該值設置爲空白會得到這個問題。我把這個放在了JIRA中。 – JustinKSU

回答

0

這是Richfaces中的一個缺陷(https://issues.jboss.org/browse/RF-12594)。 但是,從4.3開始(特別是4.3.0.20121214-M3開啓),defaultLabel已棄用,並由標記rich:placeholder替換。例如:

<rich:calendar value="#{bean.dob}" id="dob" popup="true" datePattern="MMddyyyy" converterMessage="Use MMDDYYYY format" enableManualInput="true"> 
    <rich:placeholder value="MMDDYYYY" /> 
</rich:calendar>