Rich:日历日期模式验证

时间:2015-10-21 10:28:05

标签: jsf richfaces

以下是富代码:我在JSF表单中使用的日历

<rich:message for="biddate" id="bidDateErrMsg"/>
<rich:calendar id="biddate" showWeeksBar="false" datePattern="MM/dd/yyyy" inputSize="10" maxlength="10" value="#{bean.bidDate}" enableManualInput="true" converterMessage="Invalid Date"></rich:calendar>

由于enableManualInput设置为true,因此用户也可以手动输入日期。在datePattern'MM / dd / yyyy'中,年份部分应仅接受整数。但它也接受字母表。

提交jsf表单后,当我在日期的最后三位数字输入字母时,我没有显示rich:calendar的converterMessage,如下所示

01/01/2k13
01/01/20k3
01/01/201k

并且表单已提交,这是错误的。

当我在日期的其他地方输入字母时,如下所示,

01/01/k013
01/0k/2013
0k/01/2013

converterMessage显示在屏幕上,表单未提交,这是正确的。

这是富有的缺陷:日历还是我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

解析器的工作原理(在Java中),yyyy模式接受任意数量的数字而不仅仅是四个。有关详细信息,请参阅here