我的日历有readOnlyInput =“false”,因此用户可以输入错误的日期,例如13/13/2013。
有没有办法让regexValidate我的日期,以防用户更喜欢输入日期而不是使用datePicker弹出窗口?
<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>
答案 0 :(得分:1)
<f:validateRegex>
验证程序仅适用于String
输入值,而不适用于Date
输入值,因此无法满足您的目的。
而是使用<f:convertDateTime>
转换器。
<p:calendar ...>
<f:convertDateTime pattern="dd/MM/yyyy" />
</p:calendar>
默认为non-lenient,因此在输入无效日期时会抛出转换器异常。如有必要,您可以通过输入组件上的converterMessage
属性自定义转换器消息。