【问题标题】:JSF - Formattting <p:calendar> using SimpleDateFormatJSF - 使用 SimpleDateFormat 格式化 <p:calendar>
【发布时间】:2014-07-23 15:48:03
【问题描述】:

我在 XHTML 中有一个 &lt;p:calendar&gt; 代码

<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)时,&lt;p:calendar&gt; 按原样接受日期,我在 backing bean 中执行了 SOP,我输入的日期得到了 Mon Dec 31 00:00:00 IST 6666

我不应该让用户输入一个无效的日期,就像我在上面输入的那样。
而且我需要确保用户应该提供一个有效的日期
我该怎么做?

【问题讨论】:

    标签: jsf jsf-2 primefaces calendar


    【解决方案1】:

    您可以使用 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 like- mindate="07/27/2010" maxdate="07/28/2012"
    • 这只是一种声明日期范围以避免选择无效日期范围的方法。 c-125:c+50 将从当年减去 125 年并在当年加上 50 年。因此,这可以定义年份范围。希望这对您有所帮助,因为我理解了这个问题。
    猜你喜欢
    • 2012-05-05
    • 2015-01-04
    • 1970-01-01
    • 1970-01-01
    • 2011-09-26
    • 1970-01-01
    • 2012-11-09
    相关资源
    最近更新 更多