인프런 커뮤니티 질문&답변

수빈님의 프로필 이미지
수빈

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

오류 코드와 메시지 처리6

bindingREsult.hasErrors() 부분 재사용

작성

·

352

0

if(bindingResult.hasErrors()) {
    log.info("errors = {}", bindingResult);
    //model.addAttribute("errors", errors); -> model로 넘겨주지않아도  bindingResult 자체로 자동으로 뷰에넘어간다.
    return "validation/v2/addForm";
}

위 코드를 다시 addItemV4의 첫부분에 재사용하는 이유가

먼저 타입오류가 발생하면 밑의 가격 range 오류를 검증하지 않고 바로 "validation/v2/addForm" 뷰로 리턴하여 타입오류 메시지만(하나만) 출력하고 싶을때 이런식으로 하는거죠?

답변 3

0

안녕하세요. 수빈님, 공식 서포터즈 David입니다.

네, 맞습니다🙂

감사합니다.

0

수빈님의 프로필 이미지
수빈
질문자

안녕하세요, 강사님!

제 질문은 위 코드를 메소드 시작부분에 또 재사용하는이유가 타입오류를 검증하면 바로 뷰로 넘어가 타입오류의 메시지만( range 오류 메시지 말고) 출력할 수 있기 위함이죠? :)

0

안녕하세요, 인프런 AI 인턴입니다.

수빈님의 질문에 대한 유사한 상황을 다루는 질문과 그에 대한 답변을 찾았습니다. 질문에서는 bindingResult.addError 메서드와 rejectedValue 값의 전달 과정에 대한 내용이 있으며, 이와 관련해서 강사님께서 직접 답변하신 내용이 있습니다.

강사님이 제공한 답변을 통해, bindingResult.hasErrors()가 호출될 때 타입 오류와 같은 검증 오류를 확인하고, 오류가 있을 경우 해당 오류들을 모델에 추가하지 않아도 뷰에 자동으로 넘어가게 되는 스프링의 동작 방식에 대해 이해할 수 있습니다.

다음은 관련된 질문의 링크와 강의 제목입니다. 링크를 통해 더 자세한 내용을 확인해보시기 바랍니다.

  • 게시글 제목: bindingReault.addError rejectedValue 값에 item.getPrice() 는 어떻게 전달되는건가요?

질문글 바로가기

수빈님의 프로필 이미지
수빈

작성한 질문수

질문하기