[SpringBoot] Spring Validation을 이용한 유효성 검증
[Spring Boot] Validation 적용, @Valid로 유효성 검사하기
Spring Validtaion 은 Server Side 에서의 데이터 유효성을 검사해야 될 때 사용한다.
@Validated
어노테이션을 사용한다.<aside> 💡 @Valid, @Validated 의 차이 @Valid 는 Java 에서 지원해주는 어노테이션을 의미한다. @Validated 는 Spring 에서 지원해주는 어노테이션이다.
</aside>
사용예시)
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class UserRequestDto {
@NotBlank(message = "아이디는 필수 입력 값입니다.")
private String username;
@NotBlank(message = "비밀번호는 필수 입력 값입니다.")
@Pattern(regexp = "(?=.*[0-9])(?=.*[a-zA-Z])(?=.*\\\\W)(?=\\\\S+$).{8,16}", message = "비밀번호는 8~16자 영문 대 소문자, 숫자, 특수문자를 사용하세요.")
private String password;
@Pattern(regexp = "^[ㄱ-ㅎ가-힣a-z0-9-_]{2,10}$", message = "닉네임은 특수문자를 제외한 2~10자리여야 합니다.")
private String nickname;
@Pattern(regexp = "^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+.[A-Za-z]{2,6}$", message = "이메일 형식이 올바르지 않습니다.")
@NotBlank(message = "이메일은 필수 입력 값입니다.")
private String email;
...
}
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-validation', version: '2.5.6'