Vlidator - ValidationUtils 사용하기
Spring에서 Validator를 구현하는 방법은 두 가지가 있습니다.
1. Programmatic
2. Declarative
그 중에서 첫 번째 Programmatic 방법을 사용하여 구현할 때 ValidationUtils를 사용하면 매우 간단하게 구현할 수 있습니다.
인터페이스 중에 인자가 네개인 녀석을 사용하여 defaultMessage를 주면 프로퍼티 파일을 만들지 않아도 메시지를 출력할 수 있습니다.
1. Validator 만들기
public boolean supports(Class clazz) {
return MemberInfo.class.isAssignableFrom(clazz);
}
public void validate(Object object, Errors errors) {
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "email", "required", "Enter your email");
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "password", "required", "Enter your password");
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "confirmPassword", "required", "Enter the same password for confirmation");
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "confirmMember", "required", "Enter ajn member code");
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "name", "required", "Enter your name");
}
}
Validator 인터페이스를 구현하고 ValidationUtils를 사용하여 간단하게 구현할 수 있습니다.
2. Controller에 등록하기
setCommandClass(MemberInfo.class);
setCommandName("memberInfo");
setFormView("createMemberInfo");
setSuccessView("viewMemberList");
setValidator(new MemberInfoValidator());
}
setValidator 메소드를 사용하여 위에서 만든 Validator를 등록해 줍니다.
3. 화면에 보여주기
이런식으로 속성 이름을 적어주면 그 이름에 해당하는 에러 메시지를 고자리에 출력해 줍니다.
이렇게 써주면 저 태그가 들어간 위치에 모든 에러 메시지를 모아서 출력할 수 있습니다. 좋군요~