Java/Bean Validation

Bean Validation > 컬렉션에 애너테이션 설정 시 미동작

Krevis 2025. 5. 13. 09:11

 

문제 1. 컬렉션에 @Size(min = 1)을 설정했는데 값을 전달하지 않았는데(null인데도) 유효성 검증이 되지 않음

이유는 @Size는 not null 확인을 하지 않기 때문

 

@NotNull
@Size(min = 1)

위와 같이 설정하거나

 

@NotEmpty만 사용해야 함

 

문제 2. 클래스 내에 컬렉션 필드가 있을 때 해당 필드에 애너테이션을 설정해도 유효성 검증되지 않음

이유는 Generics를 사용하면 Runtime에는 타입 정보가 없어지기 때문

 

private List<@Valid User> users;

위와 같이 설정해야 함