본문 바로가기

[MVC] 간단한 필드 검증 유틸 - ValidationUtils

@xuv22025. 10. 21. 12:48

만약 SSR 방식의 뷰 필드 검증을 작성하면 다음과 같이 작성할 수 있을 것 이다.

@PostMapping
    public String login(@Valid @ModelAttribute LoginForm form,
                        BindingResult bindingResult,
                        @RequestParam(defaultValue = "/") String redirectUrl,
                        HttpServletRequest request) {

        // 필드 검증 로직 시작

        if (!StringUtils.hasText(form.getStudentNumber())) {
            bindingResult.rejectValue("studentNumber","required");
        }

        if (!StringUtils.hasText(form.getPassword())) {
            bindingResult.rejectValue("password","required");
        }
        if (bindingResult.hasErrors()) {
            log.warn("error = {}", bindingResult);
            return "login/login-form";
        }

 

스프링은 이 복잡한 조건문을 간단하게 사용하게 해주는 ValidationUtils를 지원한다.

// ValidationUtils 사용
ValidationUtils.rejectIfEmptyOrWhitespace(bindingResult, "studentNumber", "required");
ValidationUtils.rejectIfEmptyOrWhitespace(bindingResult, "password", "required");

// 아래 코드는 위 두줄과 똑같다
if (!StringUtils.hasText(form.getStudentNumber())) {
    bindingResult.rejectValue("studentNumber","required");
}

if (!StringUtils.hasText(form.getPassword())) {
    bindingResult.rejectValue("password","required");
}

파라미터로 오류를 검증할 BindingResult 와 필드 그리고 메시지와 연결된 오류코드를 입력하면 똑같이 처리 된다.

xuv2
@xuv2 :: xuvlog

폭싹 늙었수다

목차