티스토리 뷰

🍀 Spring Boot

validation

James Wetzel 2025. 2. 6. 21:19
728x90
반응형

아래는 spring-boot-starter-validation (Hibernate Validator 기반 Bean Validation API)에서 자주 사용되는 어노테이션들과 그 설명을 정리한 표입니다.

어노테이션 설명

@NotNull 값이 null 이 아니어야 합니다. (빈 문자열이나 컬렉션은 허용됨)
@Null 값이 반드시 null 이어야 합니다.
@NotEmpty 문자열, 배열, 컬렉션 등이 null 이거나 비어 있지 않아야 합니다. (길이가 0이면 실패)
@NotBlank 문자열이 null 이 아니며, 공백(trim 후)이 아닌 실제 문자가 있어야 합니다.
@Size 문자열, 배열, 컬렉션 등의 길이나 크기를 제한합니다. min과 max 속성을 통해 범위를 지정합니다.
@Min 숫자 값이 지정한 최소값 이상이어야 합니다. (예: @Min(5)는 값이 5 이상이어야 함)
@Max 숫자 값이 지정한 최대값 이하이어야 합니다. (예: @Max(100)은 값이 100 이하이어야 함)
@DecimalMin 숫자 값이 지정한 최소(소수 포함) 이상이어야 합니다. 문자열로 표현된 숫자 값을 비교합니다.
@DecimalMax 숫자 값이 지정한 최대(소수 포함) 이하이어야 합니다. 문자열로 표현된 숫자 값을 비교합니다.
@Digits 숫자의 정수 부분과 소수 부분의 자릿수를 제한합니다. 예를 들어, @Digits(integer=3, fraction=2)는 정수 3자리, 소수 2자리 제한
@Pattern 값이 지정한 정규 표현식과 일치하는지 검사합니다.
@Email 값이 유효한 이메일 형식인지 검사합니다. (간단한 패턴 매칭으로 확인)
@Past 날짜/시간 값이 현재보다 과거여야 합니다.
@PastOrPresent 날짜/시간 값이 과거이거나 현재여야 합니다.
@Future 날짜/시간 값이 현재보다 미래여야 합니다.
@FutureOrPresent 날짜/시간 값이 미래이거나 현재여야 합니다.
@Positive 숫자 값이 0보다 큰 양수여야 합니다.
@PositiveOrZero 숫자 값이 0 이상이어야 합니다.
@Negative 숫자 값이 0보다 작은 음수여야 합니다.
@NegativeOrZero 숫자 값이 0 이하이어야 합니다.

참고:

  • 이 외에도 커스텀 검증을 위한 어노테이션을 직접 정의할 수 있으며, @Valid를 이용해 중첩 객체의 유효성 검사를 수행할 수 있습니다.
  • 각 어노테이션은 필요에 따라 message, groups, payload 등의 속성을 설정하여 보다 세밀한 제어가 가능합니다.

 

728x90
반응형