| Annotation 이름 | 의미 | 인자 (종류 및 의미) | 예시 | | --------------- | --------------------------- | ----------------------------------- | ------------------------------------------------------------------------------- | | @NotNull | 값이 null이 아닌지 검증 | - | @NotNull(message = "값은 null일 수 없습니다.") | | @Size | 값의 크기(길이)를 검증 | min (최소 길이), max (최대 길이) | @Size(min = 2, max = 10, message = "2에서 10 사이어야 합니다.") | | @NotEmpty | 값이 null이 아니고 비어있지 않은지 검증 | - | @NotEmpty(message = "값은 비어있으면 안됩니다.") | | @NotBlank | 문자열 값이 null이 아니고 공백이 아닌지 검증 | - | @NotBlank(message = "값은 공백이어서는 안됩니다.") | | @Min | 숫자 값이 최소값보다 큰지 검증 | value (최소값) | @Min(value = 18, message = "최소 18 이상이어야 합니다.") | | @Max | 숫자 값이 최대값보다 작은지 검증 | value (최대값) | @Max(value = 100, message = "최대 100 이하여야 합니다.") | | @Email | 문자열이 이메일 주소 형식인지 검증 | - | @Email(message = "올바른 이메일 주소 형식이어야 합니다.") | | @Pattern | 값이 정규 표현식과 일치하는지 검증 | regexp (정규 표현식) | @Pattern(regexp = "`^[a-zA-Z0-9]+
", message = "올바른 형식이어야 합니다.") | | @Digits | 숫자의 정수 및 소수 자릿수 검증 | integer (정수 자릿수), fraction (소수 자릿수) | @Digits(integer = 3, fraction = 2, message = "유효한 숫자 형식이어야 합니다.") | | @AssertTrue | 값이 true인지 검증 | - | @AssertTrue(message = "값은 true여야 합니다.") | | @AssertFalse | 값이 false인지 검증 | - | @AssertFalse(message = "값은 false여야 합니다.") | | @DecimalMin | 숫자 값이 최소값보다 크거나 같은지 검증 | value (최소값) | @DecimalMin(value = "10.5", inclusive = true, message = "최소값은 10.5 이상이어야 합니다.") | | @DecimalMax | 숫자 값이 최대값보다 작거나 같은지 검증 | value (최대값) | @DecimalMax(value = "99.9", inclusive = true, message = "최대값은 99.9 이하여야 합니다.") | | @Future | 날짜가 현재보다 미래인지 검증 | - | @Future(message = "날짜는 현재보다 미래여야 합니다.") | | @Past | 날짜가 현재보다 과거인지 검증 | - | @Past(message = "날짜는 현재보다 과거여야 합니다.") | | @Positive | 숫자 값이 양수인지 검증 | - | @Positive(message = "값은 양수여야 합니다.") | | @PositiveOrZero | 숫자 값이 양수 또는 0인지 검증 | - | @PositiveOrZero(message = "값은 양수 또는 0이어야 합니다.") | | @Negative | 숫자 값이 음수인지 검증 | - | @Negative(message = "값은 음수여야 합니다.") | | @NegativeOrZero | 숫자 값이 음수 또는 0인지 검증 | - | @NegativeOrZero(message = "값은 음수 또는 0이어야 합니다.") |