2013-06-27 20 views
6

我必須使用javax.validation.constraints如下驗證表單Bean在我的Spring MVC的表單bean中的下列財產:以下驗證是否表示該字段不能爲空? (@Size註釋)

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

    // getter and setter for postcode. 
} 

我的問題是:是否@Size(min = 2)意味着屬性不能null因爲它總是需要大於2的長度。之所以這麼說,是因爲在同一個包中有一個約束條件,因此如果我在上面的bean中使用約束條件,那麼約束就會變得多餘。

+1

「空值被認爲是有效的」,在http://docs.oracle.com/javaee/6/api說/javax/validation/constraints/DecimalMax.html –

回答

7

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

你可以閱讀「 null元素被認爲是有效的。
因此,你需要指定@NotNull上的頂部你的領域。
你有兩種選擇:

@NotNull 
@Size(min = 2, max = 50) 
private Integer age; 

或者像裏卡爾多·F.建議:

@NotNull @Min(13) @Max(110) 
private Integer age; 
1

@NotNull用於文本字段太多,但你可以像

@NotNull @Min(13) @Max(110) 
private Integer age; 

這意味着年齡不能爲空,且必須在13和100之間的值一起使用它們

@NotNull 
private Gender gender; 

指本性別不能爲空

0

根據文檔被認爲是有效@Size

null元素。

僅供參考休眠驗證實際@Size實現在:

org.hibernate.validator.constraints.impl.SizeValidator

所以指定@NotNull反正。

相關問題