我在 Java Bean 中有一个字段(公斤)不是强制性的,但如果用户确实输入了它,它显然需要是一个数字。
是否有可以强制执行该规则的 JSR303 注释组合?我试过
@Min(value=0)
但这显然不允许空,这是允许的。
谢谢你的帮助。
我在 Java Bean 中有一个字段(公斤)不是强制性的,但如果用户确实输入了它,它显然需要是一个数字。
是否有可以强制执行该规则的 JSR303 注释组合?我试过
@Min(value=0)
但这显然不允许空,这是允许的。
谢谢你的帮助。
文档说空值被认为是有效的。看
http://jackson.codehaus.org/javadoc/bean-validation-api/1.0/javax/validation/constraints/Min.html
您需要使用对象类型(整数)而不是原始类型。如果您有问题,请向我们展示您的 bean。
您不能使用 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 ),但不能保证。