我使用以下XML来获取Birthdate日历:
<p:calendar pattern="MM-dd-yyyy" value="#{registration.birthDate}"
navigator="true" required="true" label="Birth Date"
id="birthDateCal" yearRange="c-100:c-17" />
日历虽然存在一些问题。当我打开日历时,似乎年份会以有趣的方式改变:
有人见过这个吗?
答案 0 :(得分:2)
好吧,这似乎已经是Primefaces中列出的错误。
http://code.google.com/p/primefaces/issues/detail?id=2737
它被标记为无法修复,其原因是它是jQuery UI日历组件的基础错误,与Primefaces无关。
以下讨论更详细地讨论了jQuery方面的这个问题。
http://forum.jquery.com/topic/datepicker-yearrange-bug
基本上,yearRange属性不像人们想象的那样工作。它会将年份范围设置为不在今天的日期,而是设置日历组件的当前所选日期。
修改强>
解决此问题的一种可能方法是编写一个算法,该算法根据托管bean方法确定动态yearRange,并以今天日期和生日之间的差异为基础。您可以将yearRange="#{managedBean.dynamicYearRange()}"
设置为动态调用它。
答案 1 :(得分:2)
更改为 yearRange =“ - 100:-17”