0

我的日历有 readOnlyInput="false" ,因此用户可以输入错误的日期,例如 2013 年 13 月 13 日。

如果用户更喜欢键入日期而不是使用 datePicker 弹出窗口,有没有办法 regexValidate 我的日期?

<p:calendar id="birthDate" size="22" locale="#{view.locale}"
                            maxdate="#{userCreationBean.maxDate}" navigator="true"
                            yearRange="c-100" readOnlyInput="false"
                            value="#{userCreationBean.user.birthDate}"
                            mindate="01/01/1900" pattern="dd/MM/yyyy"
                            style="left: 194px !important;"

                            >
                        </p:calendar>
4

1 回答 1

1

<f:validateRegex>验证器仅适用于输入String值,而不适用于Date输入值,因此不适合您的目的。

而是使用<f:convertDateTime>转换器。

<p:calendar ...>
    <f:convertDateTime pattern="dd/MM/yyyy" />
</p:calendar>

默认情况下,它是非宽松的,因此在输入无效日期时会引发转换器异常。如有必要,您可以按converterMessage输入组件上的属性自定义转换器消息。

于 2013-02-13T18:09:14.803 回答