Spring Boot Validated 유효성 검증 그룹 설정

2023. 7. 4. 13:39웹개발/Spring Boot

728x90
public class ValidationGroups {
    public interface OnUpdate {}    
    public interface OnInsert {}
}

ValidationGroups 클래스에 해당 interface를 선언 해두고

 

@Data
public class BoardForm {
    
    @NotBlank(message = "제목은 필수입니다.", groups = {ValidationGroups.OnInsert.class})
    @Length(min = 5, message = "제목은 6글자 이상", groups = {ValidationGroups.OnInsert.class})
    @Length(max = 15, message = "제목은 15글자 이하", groups = {ValidationGroups.OnInsert.class})
    private String title;

    @NotBlank(message = "내용은 필수입니다.", groups = {ValidationGroups.OnInsert.class, ValidationGroups.OnUpdate.class})
    private String contents;

    @NotBlank(message = "아이디가 없습니다.", groups = {ValidationGroups.OnUpdate.class})
    private String id;
}

 

게시물에 대한 제목은 변경이 안된다는 가정하에 위의 코드와 같이 작성하고

 

    @PostMapping("boardInsert")
    public String boardInsert(@Validated(ValidationGroups.OnInsert.class) BoardForm boardForm, Errors errors, Model model) throws NoSuchAlgorithmException {
    
    
    @PostMapping("boardUpdate")
    public String boardUpdate(@Validated(ValidationGroups.OnUpdate.class) BoardForm boardForm, Errors errors, Model model) throws NoSuchAlgorithmException {

다음과 같이 작성하여 유효성 검증 그룹을 설정해서 사용할수 있다.

728x90
반응형