Validation

validation 이란 프로그래밍에 있어서 가장 중요.

에러를 방지 하기 위해서 미리 검증을 하는 과정을 validation이라고 한다.

  1. 검증해야 할 값이 많을 경우 코드의 길이가 길어 진다.
  2. 구현에 따라서 달라 질 수 있지만 Service Logic과의 분리가 필요하다.
  3. 흩어져 있는 경우 어디에서 검증을 하는지 알기 어려우며, 재사용의 한계가 있다.
  4. 구현에 따라 달라 질 수 있지만, 검증 Logic이 변경 되는 경우 테스트 코드 증 참조하는 클래스에서 Logic이 변경되어야 하는 부분이 발생 할 수 있다.

Validation Annotation

@Size 문자 길이 측정 Int Type 불가
@NotNull null 불가
@NotEmpty null, “”불가
@NotBlank null, “”, “{space}“ 불가
@Past 과거 날짜
@PastOrPresent 오늘이나 과거 날짜
@Future 미래 날짜
@FutureOrPresent 오늘이거나 미래 날짜
@Pattern 정규식 적용 regexp message
@Max 최댓값
@Min 최솟값
@AsserTrue / False 별도 Logic 적용
@Valid 해당 object validation 실행

Spring Dependency

gradle dependecies

implementation "org.springframework.boot:spring-boot-starter-validation"

bean validation spec

https://beanvalidation.org/2.0-jsr380/

정규식

점프 투 파이썬