![[Spring-Error] @NotBlank 검증 오류, No validator could be found](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZCWTQ%2FbtsmIsAq3kQ%2F1a4wv1tWVdeEnmKA3MvNUk%2Fimg.png)
[Spring-Error] @NotBlank 검증 오류, No validator could be foundlegacy/Spring2023. 7. 6. 22:17
Table of Contents
문제 발생
@NotBlank
@Range(min=10, max=100)
private Integer userAge;
필드에 @NotBlank을 사용하였는데 다음과 같은 오류를 발생시켰다.
No validator could be found for constraint 'javax.validation.constraints.NotBlank' validating type 'java.lang.Integer'. Check configuration for 'userAge'
보아하니 @NotBlank 애너테이션에 문제가 있어 보인다.
해결
일단 @NotBlank의 역할은 "", " ", null 세 개를 허용하지 않는다. 생각해보니 userAge 필드는 Integer 타입이다. Integer 타입은 애초에 문자열이 들어갈 수 없으니까 Bean Validation이 정상적으로 수행되지 않는 것이다.
결론
Integer 타입에는 @NotNull을 사용해서 null 값인 상태를 방지하자.
@NotBlank는 @NotEmpty 애너테이션에 " "을 금지하는 것이 추가된 것이므로, @NotNull도 Integer 타입의 필드에는 사용할 수 없다.