Jsf p:日历上的正则表达式日期验证

Jsf p:日历上的正则表达式日期验证,jsf,primefaces,Jsf,Primefaces,我的日历有readOnlyInput=“false”,因此用户可能输入错误的日期,如2013年13月13日 如果用户喜欢键入日期而不是使用datePicker弹出窗口,是否有办法对我的日期进行regexValidate <p:calendar id="birthDate" size="22" locale="#{view.locale}" maxdate="#{userCreationBean.maxDate}" navigator=

我的日历有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>

验证器仅在
字符串
输入值上工作,而不是在
日期
输入值上工作,因此不适合您所设想的用途

而是使用转换器

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


默认情况下,当输入无效日期时,它将引发转换器异常。如有必要,您可以通过输入组件上的
converterMessage
属性自定义转换器消息。

Hi@BalusC但此模式允许日期格式为“12/12/2013123”,因为年份是有效的。但有什么东西在一年中也只接受4个数字吗。