Been Validation - 스프링 적용

slee2·2022년 2월 11일
0

V2의 버전을 V3로 바꾸기 위해 좋은 단축키가 있다.

이렇게 v3 폴더를 클릭한 상태에서
cmd + shift + r을 누르면

이렇게 특정 단어를 다른 단어로 바꿔주는 명령을 실행할 수 있다.

스프링 MVC는 어떻게 Bean Validator를 사용할까

스프링 부트가 spring-boot-starter-validation 라이브러리를 넣으면 자동으로 Bean Validator를 인지하고 스프링에 통합한다.

또 스프링 부트는 자동으로 글로벌 Validator로 등록한다.
그렇기 때문에 @Valid, @Validated만 적용하면,
검증 오류가 발생했을때 FieldError, ObjectError를 생성해서 BindingResult에 담아준다.

참고

검증은 @Valited, @Valid 둘다 사용가능하다.
@Valid는 의존관계 추가가 필요하다.
implementation 'org.springframework.boot:spring-boot-starter-validation'
@Validated는 스프링 전용 검증 어노테이션이고 @Valid는 자바 표준 검증 어노테이션이다. 다만 @Validatedgroups라는 기능이 있는데 이건 뒤에서 설명.

검증 순서

  1. @ModelAttribute 각각의 필드에 타입 변환을 시도

    1. 성공하면 다음으로
    2. 실패하면 typeMismatchFieldError 추가
  2. Validator 적용

바인딩에 실패하면 Been Validation을 적용하지 않는다.
타입 변환에 성공한 필드여야 Beean Validation이 의미가 있기 때문.

예)
itemName에 문자 "A" 입력 -> 타입 변환성공 -> Bean Validation 적용
price에 문자 "A" 입력 -> 타입 변환실패 -> typeMismatch FieldError 추가 -> Bean Validation 적용 X

0개의 댓글