Spring

Spring Validator를 이용하여 유효성 검사

📝 작성 : 2020.06.23  ⏱ 수정 : 
728x90

Spring에서 유효성을 검사하는 방법

  1. Spring Validator 구현
  2. Bean Validation
    1. Bean Validation 1.0(JSR-303)
    2. Bean Validation 1.1(JSR-349)
    3. Bean Validation 2.0(JSR-380)

두 가지 방법 중 Validator 인터페이스를 구현하여 유효성 검사하는 방법을 알아보겠습니다.

Validator 인터페이스

org.springframework.validation.Validator

public class Person {
    private String name;
    private int age;

    // the usual getters and setters...
}
public class PersonValidator implements Validator {
    @Override
    public boolean supports(Class<?> clazz) {
        return Person.class.equals(clazz);
    }

    @Override
    public void validate(Object target, Errors errors) {
        ValidationUtils.rejectIfEmpty(errors, "name", "empty");
        Person person = (Person) target;
        if (person.getAge() < 0) {
            errors.rejectValue("age", "Under 0");
        } else if (person.getAge() > 120) {
            errors.rejectValue("age", "Over 120");
        }
    }
}

spring 공식사이트의 예제를 가져왔습니다.

  • supports 메서드 : 파라미터로 전달된 클래스의 검증가능 여부
  • validate 메서드 : 파라미터로 전달된 객체를 검증, 실패하면 org.springframework.validation.Errors객체에 에러 등록
반응형