0

我在 Java Bean 中有一个字段(公斤)不是强制性的,但如果用户确实输入了它,它显然需要是一个数字。

是否有可以强制执行该规则的 JSR303 注释组合?我试过

@Min(value=0)

但这显然不允许空,这是允许的。

谢谢你的帮助。

4

2 回答 2

0

文档说空值被认为是有效的。看

http://jackson.codehaus.org/javadoc/bean-validation-api/1.0/javax/validation/constraints/Min.html

您需要使用对象类型(整数)而不是原始类型。如果您有问题,请向我们展示您的 bean。

于 2012-10-19T11:12:50.107 回答
0

您不能使用 Bean Validation 1.0 进行 OR 组合。Hibernate Validator 有一个特性可以让你这样做。它被称为“自定义约束的布尔组合” - http://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/#d0e3701

所以你需要一个自定义约束,你显然不会符合标准,但它可以工作。

对于 Bean Validation 1.1,有一个讨论是否应该将布尔组合纳入标准 ( BVAL-260 ),但不能保证。

于 2012-10-21T15:45:31.210 回答