0

我正在尝试使用 验证非空输入的丰富:日历<rich:beanValidator />,但我无法验证空输入。

例如,在我的 constraits.xml 文件中,我验证了日历的 getter:

<getter name="dateOfBirth">

  <constraint annotation="javax.validation.constraints.Past"/> (works fine)

  <constraint annotation="javax.validation.constraints.NotNull" /> (not work)

  <constraint annotation="org.hibernate.validator.constraints.NotEmpty"/> (not work)

</getter>

最后两个约束不起作用,因为“DateTime”数据类型无法识别它们?(据我所知,其中第一个用于数值,第二个用于字符串)。

日期时间数据类型有这样的限制吗?我可以使用在 xml 文件中编写的非空输入约束以某种方式验证吗?

我被迫在 xhtml 中使用 required="true" 来对 Rich:calendar 进行这种验证(非空)(如果我使用的是休眠验证器)?

如果你有想法请帮助我...

问候, 米尔恰

4

2 回答 2

0

@NotNull: 带注释的元素不能为空。接受任何类型。

你检查它是否真的为空?因为它可能已设置new Date()为例如。另外,尝试 if 使用注释,而不是使用 constraints.xml(这可能是 beanvalidator 中的错误)

无论如何,required="true"似乎是一个很好的解决方案。

于 2009-12-01T10:55:02.833 回答
0

JSF 不验证空字段。然而,JSF 2 可以选择验证 null 以符合 bean 验证框架。

于 2009-12-04T07:31:56.893 回答