我在Java Bean(千克)中有一个非必需的字段,但如果用户输入它,则显然需要是一个数字。
JSR303注释是否可以强制执行该规则?我试过了
@Min(value=0)
但这显然不允许空,这是允许的。
感谢您的帮助。
答案 0 :(得分:0)
文档说空值被认为是有效的。参见
http://jackson.codehaus.org/javadoc/bean-validation-api/1.0/javax/validation/constraints/Min.html
您需要使用对象类型(整数)而不是基本类型。如果你有问题,请告诉我们你的豆。
答案 1 :(得分: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),但不能保证。