1개의 Controller에서 2개 이상의 Validator를 등록하려면 어떻게 해야 할까? WebDataBinder의 addValidators()에 그냥 2개를 저장하면 될까? 바로 알아보자. 오류 코드 나는 회원가입용 검증기와 로그인용 검증기 2개를 등록하려고 하였다. 처음에 WebDataBinder에 2개를 바로 저장하였다. 참고로 registerValidator와 loginValidator는 주입받은 상태이다. // Controller @InitBinder public void init(WebDataBinder webDataBinder) { webDataBinder.addValidators(registerValidator, loginValidator); } 그러나 바로 IllegalStateExc..
Validator란? 스프링에서 사용자가 입력한 값에 대해서 올바른지에 대한 검증기를 제공한다. 바로 Validator 인터페이스이다. 상품의 가격을 입력해야 하는데 숫자가 아닌 문자를 입력했거나 제한된 값을 넘어서거나 등등 이에 대응할 수 있게 해준다. Validation 인터페이스는 다음과 같은 메서드를 제공한다. public interface Validator { /** * Can this {@link Validator} {@link #validate(Object, Errors) validate} * instances of the supplied {@code clazz}? * This method is typically implemented like so: * return Foo.class.isAs..