Skip to content

Latest commit

 

History

History
38 lines (20 loc) · 1.35 KB

모델 바인딩과 검증.md

File metadata and controls

38 lines (20 loc) · 1.35 KB

모델 바인딩과 검증

모델 오브젝트의 바인딩 작업이 실패로 끝나는 경우 2가지

  1. 타입 변환 불가능
  2. 타입변환 성공 O, but 검증기를 이용한 검사를 통과하지 못했기때문에

폼의 서브밋을 처리하는 컨트롤러 메소드에서는 반드시 검증기를 이용해 입력 값을 확인하고

그 결과에 따라 폼을 정상 처리하고

다음 작업으로 넘어가거나 폼을 다시 띄우고 사용자가 잘못 입력한 값을 수정하도록 해줘야한다

Validator(검증기)

범용적으로 사용할 수 있는 오브젝트 검증기를 정의 할 수 있는 API

@Controller로 HTTP 요청을 @ModelAttribute 모델에 바인딩할 때 주로 사용

또는 비즈니스 로직에서 검증로직 분리하고싶을 때도 사용

Vaildator 인터페이스가 가지고 있는 2개의 메소드

  1. boolean supports(Class<?> clazz)

    이 검증기가 검증할 수 있는 오브젝트 타입인지 확인해주는 메소드

  2. void validate(Object target, Errors erros)

    속성값 검증 메소드

    위의 support()를 통과한 경우에만 validate()호출

BindingResult

Errors의 서브 인터페이스

BindingResult에 모델의 바인딩 작업 중에 발생한 타입 변환 오류정보와 검증작업에서 발생한 검증 오류 정보가 모두 저장된다