前言
目錄
spring-boot-validator參數校驗系列(1)--------基本參數校驗。
spring-boot-validator參數校驗系列(2)--------分組校驗 spring-boot-validator參數校驗系列(3)--------自定義校驗注解 spring-boot-validator參數校驗系列(4)--------自定義參數校驗異常一、為什麼要分組校驗?
因為對同一個實體有不同的業務操作,比如添加使用者時,使用者名不可為空,更新使用者資訊時,id不可為空。此時采取統一交驗,則會出現添加時,必須填寫id。
二、如何實作?
(1)首先完成基本校驗
(2)建立分組校驗标記接口
import javax.validation.groups.Default;
/**
* @Description : 校驗注解标記接口,更新類型。注意:
* 若不實作Default接口,那麼預設的沒有添加分組的注解則不會進行校驗
也就是如果不繼承Default預設接口,那麼下面MyPerson中的name上的@Size則會失效
*/
public interface Update extends Default {
}
如果不繼承Default預設接口,那麼下面MyPerson中的name上的@Size則會失效!
重要的事情說三遍!!!
(3)校驗注解中groups屬性添加分組标記接口
@Data//lombok注解
public class MyPerson {
@NotBlank(message = "id不可為空!",groups = {Update.class})
private String id;
@Size(max = 8,min = 1, message = "姓名字元超出範圍!")
private String name;
}
(3)Controller中的@Validated 注解加入标記接口(首尾呼應寫作方法)。
這裡以更新為例,因為name沒有進行Update.class分組,是以不填(即:null)不會校驗
PostMan通路

背景輸出結構