SPRING - @Valid 와 @InitBinder

데이터 검증을 위해 Validator 인터페이스를 구현한

클래스를 만들고 validate() 메소드를 

직접 호출해 사용했습니다 이번 포스팅에서는

직접 호출하지 않고, 스프링 프레임워크에서

호출하는 방법에 대해서 알아보겠습니다.


먼저 pom.xml에 의존을 추가합니다



저는 junit 밑에 추가했습니다.


다음 StudentController.java 에서

어노테이션 2개를 추가합니다


먼저 유효성 검사를할 커맨드 객체인 

Student 객체앞에  @Valid 어노테이션을 붙여줍니다


다음 밑에 @InitBinder 라는 어노테이션이 붙은

메소드를 만들어줍니다 WebDataBinder는 커맨드 객체를

바인딩 하는 객체입니다 그 바인딩한 객체를

setValidator 해줍니다 이것은 StudentValidator 객체를

set 해준다는 의미입니다. 그래서

기존에 있떤 2줄의 소스를 주석처리합니다


이렇게 한다면 검증을 위해 직접 validate()메소드를

호출하지 않아도 스프링 프레임워크가 initBinder 메소드를

최초에 먼저 호출을 하기때문에 검증단계를 수행합니다.




댓글

Designed by JB FACTORY