首先需要說明下,本提到的 @NotEmpty、@NotBlank、@NotNull 分別是
javax.validation.constraints.NotEmpty、javax.validation.constraints.NotBlank 、javax.validation.constraints.NotNull。
通過注解的方式我們可以更加優雅的對參數的格式進行校驗,但是在使用 @NotEmpty、@NotBlank、@NotNull 的過程中,由於含義有點類似,所以導致使用的時候會有一些迷茫,下面,對這三個注解逐一進行使用上的說明:
1.@NotNull
適用於基本數據類型(Integer,Long,Double等等),當 @NotNull 注解被使用在 String 類型的數據上,則表示該數據不能為 Null(但是可以為 Empty)
2.@NotBlank
適用於 String 類型的數據上,加了@NotBlank 注解的參數不能為 Null 且 trim() 之后 size > 0
3.@NotEmpty
適用於 String、Collection集合、Map、數組等等,加了@NotEmpty 注解的參數不能為 Null 或者 長度為 0
在使用這些注解的時候,還需要注意一點(注:否則會造成注解無效哦!!),那就是在Controller 層定義方法的時候在參數位置上加上 @Valid(javax.validation.Valid) 注解!!!如下圖:
原文來自:https://blog.csdn.net/yangchao1125/article/details/107323177/