Java validation @Max @Min이 적용에 관하여

동철·2023년 9월 6일
0

Spring 에서 @Valid로 RequestBody를 체크 과정중,
String 타입에 @Min(글자 길이 검증) 하려 했는데 안되는 현상이 일어났다.

public class CommentCreateRequest {

    @NotBlank(message = "내용을 입력해주세요.")
    @Min(value= 10, message = "내용은 10자리 이상 입력해주세요.") // Not working
    private String content;
    
}

알아보니 @Max @Min은 숫자 필드에만 적용되는 사실을 알았다.

문자열 필드엔 @Size를 적용해야 한다.

public class CommentCreateRequest {

    @NotBlank(message = "내용을 입력해주세요.")
	@Size(min = 10, message = "내용은 10자리 이상 입력해주세요.")
//    @Size(min = 10, max = 255, message = "내용은 10자리 이상, 255자리 이하로 입력해주세요.")
    private String content;
    
}

@Size는 필드의 범위를 나타내는데 에도 효과적으로 보인다.
참고로 @Size는 String 외에도 Collection, Map, Array 필드를 지원한다.

profile
세상에 기여하는 사람이 되고 싶습니다.

0개의 댓글