[Spring] ValidationUtils

Spring에서 Validator를 구현 할때 사용하는 Util인데.

사용방법은 다음과 같다.

@Override
public void validate(Object target, Errors errors) {
// TODO Auto-generated method stub
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "id", "error.field.required.user.id");
}


근데 유심히 보면 ValidationUtils.rejectIfEmptyOrWhitespace 가 어떻게 target의 id를 가져와서 빈값인지 체크를 할까 라는 궁금증이 생겼다.

파라미터로는 객체는 error만 넘겼는데...

해당 코드를 따라가보니..


public static void rejectIfEmptyOrWhitespace(
Errors errors, String field, String errorCode, Object[] errorArgs, String defaultMessage) {

Assert.notNull(errors, "Errors object must not be null");
Object value = errors.getFieldValue(field);
if (value == null ||!StringUtils.hasText(value.toString())) {
errors.rejectValue(field, errorCode, errorArgs, defaultMessage);
}
}

=_=;; 에러 쪽에서 Field 값은 가져온다..
흠...error 안에 target이 있는건가..

현재는 그렇게 이해하고 pass =_=;;

댓글

이 블로그의 인기 게시물

Spring Batch - JobParameters Default Value 만들기

Hsqldb Server 재기동 시 오류