본문 바로가기
java/spring

spring - Validator

by rewind 2024. 7. 8.

객체를 검증하기 위한 인터페이스. 객체 검증기(validator) 구현에 사용

인터페이스이며

검증가능한 객체인지 알려주는 메서드와 검증메서드로 구성되어있음

 

수동검증

UserValidator userValidator = new UserValidator();
userValidator.validate(user,result); //BindingResult는 Error의 자손

// User객체 검증 결과 에러가 있으면 registerForm을 이용해서 에러를 보여줘야 함
if(result.hasErrors()) {
return "registerForm";
}

 

Validator를 이용한 검증 - 자동

 

하나의 Validator로 여러객체를 검증할 때, 글로벌 Validator로 등록

등록방법

servlet-context.xml에 빈등록

<annotation-driven>

애너테이션드리븐 태그에 지정

 

글로벌/로컬 동시적용

@InitBinder 메소드 작성하고

binder.addValidator(new UserValidator());

-> 주의: set이 아니고 add임

 

@Valid -> 스프링에서 제공하는 것이 아님

 

다양한 리소스에서 메시지를 읽기 위한 인터페이스

MessageSource

 

프로퍼티 파일을 메시지 소스로 하는 ResourceBundleMessageSource를 등록

 

에러코드 메시지가 존재하는 파일을 만들어야..

error_message.properties

key(메시지코드)=value(메시지)