✅ 文字列必須チェック

種類 ライブラリ メソッド / アノテーション チェック条件 使用例 null "" " " "abc"
Annotation javax.validation.constraints @NotNull null のみ不可 @NotNull String s
Annotation javax.validation.constraints @NotEmpty null または空文字列不可 @NotEmpty String s
Annotation javax.validation.constraints @NotBlank null・空文字列・空白文字列すべて不可 @NotBlank String s
Utility java.util.Objects nonNull() / isNull() null のみをチェック Objects.nonNull(str)
Utility org.springframework.util StringUtils.hasText() null・空文字列・空白文字列不可 hasText(str)
Utility org.springframework.util StringUtils.hasLength() null 不可・長さ1以上でOK hasLength(str)
Utility org.apache.commons.lang3 StringUtils.isEmpty() null または空文字列なら ✅ isEmpty(str)
Utility org.apache.commons.lang3 StringUtils.isBlank() null・空文字列・空白文字列なら ✅ isBlank(str)
Utility org.springframework.util ObjectUtils.isEmpty() null、空文字列、空コレクションなども ✅ ObjectUtils.isEmpty(str)
Utility org.apache.commons.lang3 (3.13〜) ObjectUtils.isEmpty() null または empty なら ✅ ObjectUtils.isEmpty(str)

Untitled

Untitled

validation

어노테이션 설명 비고
@NotNull null이 아니어야 함 null만 체크 (빈 문자열 허용)
@NotEmpty null/빈 문자열/빈 컬렉션 불가 문자열, 컬렉션
@NotBlank null/공백 문자열 불가 문자열 전용
@Size(min=, max=) 문자열, 배열, 컬렉션 길이 제한 예: 이름 최소 2글자
@Min(value=) 최소값 숫자
@Max(value=) 최대값 숫자
@Positive 양수 0 제외
@PositiveOrZero 양수 또는 0
@Negative 음수
@NegativeOrZero 음수 또는 0
@Pattern(regexp=) 정규표현식과 일치 문자열
@Email 이메일 형식
@Past, @PastOrPresent 과거 날짜 (또는 현재 포함) java.time.*
@Future, @FutureOrPresent 미래 날짜 (또는 현재 포함)
@Digits(integer=, fraction=) 정수/소수 자리수 제한 숫자형
어노테이션 메시지 키 (기본값)
@NotNull jakarta.validation.constraints.NotNull.message = must not be null
@NotEmpty jakarta.validation.constraints.NotEmpty.message = must not be empty
@NotBlank jakarta.validation.constraints.NotBlank.message = must not be blank
@Size jakarta.validation.constraints.Size.message = size must be between {min} and {max}
@Min jakarta.validation.constraints.Min.message = must be greater than or equal to {value}
@Max jakarta.validation.constraints.Max.message = must be less than or equal to {value}
@Positive jakarta.validation.constraints.Positive.message = must be greater than 0
@PositiveOrZero jakarta.validation.constraints.PositiveOrZero.message = must be greater than or equal to 0
@Negative jakarta.validation.constraints.Negative.message = must be less than 0
@NegativeOrZero jakarta.validation.constraints.NegativeOrZero.message = must be less than or equal to 0
@Pattern jakarta.validation.constraints.Pattern.message = must match "{regexp}"
@Email jakarta.validation.constraints.Email.message = must be a well-formed email address
@Past jakarta.validation.constraints.Past.message = must be a past date
@PastOrPresent jakarta.validation.constraints.PastOrPresent.message = must be a date in the past or in the present
@Future jakarta.validation.constraints.Future.message = must be a future date
@FutureOrPresent jakarta.validation.constraints.FutureOrPresent.message = must be a date in the present or in the future
@Digits jakarta.validation.constraints.Digits.message = numeric value out of bounds (<{integer} digits>.<{fraction} digits> expected)

#aaa