以下验证是否表示该字段不能为空?(@Size注释)

bla*_*her 13 java validation spring-mvc

我在Spring MVC Form bean中使用以下属性javax.validation.constraints来验证表单bean,如下所示:

public class MyForm {
    @Size(min = 2, max = 50)
    private String postcode;

    // getter and setter for postcode.
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:@Size(min = 2)属性是不是null因为它总是需要长度大于2的意思.我之所以说这是因为@NotNull在同一个包中存在约束,因此@NotNull如果我应该这样做会使约束变得多余在上面的bean中使用它.

clo*_*her 18

如果你看一下注释大小的文档(http://docs.oracle.com/javaee/6/api/javax/validation/constraints/Size.html)

你可以阅读" null元素被认为是有效的. "
因此你需要在字段顶部指定@NotNull.
你有两个选择:

@NotNull 
@Size(min = 2, max = 50)
private Integer age;
Run Code Online (Sandbox Code Playgroud)

或者像Riccardo F.建议:

@NotNull @Min(13) @Max(110)
private Integer age;
Run Code Online (Sandbox Code Playgroud)