JSF-格式化<;p:日历>;使用SimpleDataFormat

JSF-格式化<;p:日历>;使用SimpleDataFormat,jsf,jsf-2,primefaces,calendar,Jsf,Jsf 2,Primefaces,Calendar,我在XHTML中有一个代码 <p:calendar value="#{Bean.targetdate}" pattern="MM/dd/yyyy" size="10" navigator="true" re

我在XHTML中有一个
代码

<p:calendar
                                                value="#{Bean.targetdate}"
                                                pattern="MM/dd/yyyy" size="10" navigator="true"
                                                rendered="#{Bean.editCmdActionflg == true}"
                                                onblur="fChkDate(this);">
                                                <f:convertDateTime type="date" pattern="MM/dd/yyyy" />


我的问题是,当我提供了一个无效的日期,如
12/31/6666
时,
接受该日期,并且我在支持bean中执行了SOP,我得到了
Mon-Dec 31 00:00:00 IST 6666
,作为我输入的日期

我不应该允许用户输入一个无效的日期,就像我在上面输入的日期一样

我需要确保用户提供一个有效的日期
我怎么做?

您可以使用yearRange属性来解决您的问题,例如-

<p:calendar yearRange="c-125:c+50" value="#{Bean.targetdate}"  pattern="MM/dd/yyyy"  readonlyInput="true" size="10" navigator="true"
                                            rendered="#{Bean.editCmdActionflg == true}"
                                            onblur="fChkDate(this);"/>


此外,如果您想限制用户从所需范围中选择日期,可以使用mindate和maxdate,如-mindate=“07/27/2010”maxdate=“07/28/2012”这只是一种声明日期范围的方法,以避免选择无效的日期范围。c-125:c+50将从本年减去125年,并在本年加上50年。因此,这可以定义年份范围。希望这能帮助你,因为我了解这个问题。