728x90

dto.java 파일을 생성 후 데이터 객체에 어노테이션을 추가했는데

빨간 줄이 뜨면서 validation 패키지 자체가 주입이 되어 있지 않는 것을 확인했다

 

Spring Validation이란?

validation이란 프로그래밍에 있어서 가장 필요한 부분이다.

Java/Kotlin 에서는 null값에 대해 접근하려고 할 때, null point exception이 발생한다. 이런 부분을 방지하기 위해 미리 검증하는 과정을 Validation이라고 함

 

 

 

검색해보니

 

spring boot 2.3 version 이상부터는 spring-boot-starter-web 의존성 내부에 있던 validation이 사라져

 spring boot version이 2.3 이상이라면 validation 의존성을 따로 추가해주어야 한다고 한다.

 

먼저 의존성을 추가해야한다

 

 

maven pom.xml 파일에 의존성 추가

아래 내용을 추가해주고 빌드하면 된다

<dependency>           
   <groupId>org.springframework.boot</groupId>           
   <artifactId>spring-boot-starter-validation</artifactId>           
   <version>2.5.2</version>       
</dependency>

 

 

 

 

validation 적용하기

dto 데이터 객체에 annotation을 추가 해주니 화면에서 잘 적용된 걸 확인할 수 있다.

 

 

이 외 가능한 유효성 검사

@Null

// null만 혀용합니다.

@NotNull

// null을 허용하지 않습니다. "", " "는 허용합니다.

@NotEmpty

// null, ""을 허용하지 않습니다. " "는 허용합니다.

@NotBlank

// null, "", " " 모두 허용하지 않습니다.

@Email

// 이메일 형식을 검사합니다. 다만 ""의 경우를 통과 시킵니다. @Email 보다 아래 나올 @Patten을 통한 정규식 검사를 더 많이 사용합니다.

@Pattern(regexp = )

// 정규식을 검사할 때 사용됩니다.

@Size(min=, max=)

// 길이를 제한할 때 사용됩니다.

@Max(value = )

// value 이하의 값을 받을 때 사용됩니다.

@Min(value = )

// value 이상의 값을 받을 때 사용됩니다.

@Positive

// 값을 양수로 제한합니다.

@PositiveOrZero

// 값을 양수와 0만 가능하도록 제한합니다.

@Negative

// 값을 음수로 제한합니다.

@NegativeOrZero

// 값을 음수와 0만 가능하도록 제한합니다.

@Future

// 현재보다 미래

@Past

// 현재보다 과거

@AssertFalse

// false 여부, null은 체크하지 않습니다.

@AssertTrue

// true 여부, null은 체크하지 않습니다.

 

 

 

728x90

+ Recent posts