build.gradle에 validation 패키지 추가
implementation 'org.springframework.boot:spring-boot-starter-validation'
각 필드에 유효성 검증 어노테이션을 붙여줘야 함
public class UserCreateDto {
@NotBlank(message = "이름은 필수입니다")
@Size(min = 2, max = 50, message = "이름은 2자 이상 50자 이하여야 합니다")
private String name;
@NotBlank(message = "이메일은 필수입니다")
@Email(message = "올바른 이메일 형식이 아닙니다")
private String email;
@NotNull(message = "나이는 필수입니다")
@Min(value = 0, message = "나이는 0 이상이어야 합니다")
@Max(value = 150, message = "나이는 150 이하여야 합니다")
private Integer age;
@Pattern(regexp = "^010-\\\\d{4}-\\\\d{4}$", message = "휴대폰 번호 형식이 올바르지 않습니다")
private String phoneNumber;
@NotEmpty(message = "취미는 최소 하나 이상 선택해야 합니다")
private List<String> hobbies;
// 중첩 객체 검증
@Valid
@NotNull(message = "주소 정보는 필수입니다")
private AddressDto address;
// getter, setter, constructor...
}
@NotNull
@NotBlank
@Size(min = n, max = m)
@Length(min = n, max = m)
@Min(value = n)
@Max(value = n)
@Range(min = n, max = m)