강의

멘토링

커뮤니티

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

컴퓨터공부하자님의 프로필 이미지
컴퓨터공부하자

작성한 질문수

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

FieldError, ObjectError

th:field를 사용하지 않고 타입 오류 값을 화면에 다시 출력할 수 있을까요?

작성

·

349

0

th:field를 사용할 경우 Integer 타입에 맞지 않은 값이 입력되면 필드 애러가 생성되고 예를 들면 "qqq"가 저장되어 있다가 나중에 화면에 출력되잖아요?

제가 th:field를 사용하지 않고 #fields로 필드애러에 접근해서 타입 애러로 저장된 값을 가져와보려고 하니까, #fields가 가진 api를 보면 필드애러에 담겨진 사용자 입력값을 가지고 오는 기능의 함수가 없는 것 같습니다.

혹시 다른 방법이 있을까요? 그냥 자바 코드로 컨트롤러에서bindingResult에서 타입 애러인 필드 애러를 찾아서 모델에 넣어줘서 타임리프로 받는 것은 너무... 돌아가는 느낌이 들어서요. 타임리프도 th:field가 편리기능이니까 편리하기 이전의 기본 기능도 만들어놨을 것 같은데... 혹시 방법이 있다면 알려주시면 감사하겠습니다!

답변 1

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 컴퓨터공부하자님

개발자에게는 공식 메뉴얼을 잘 찾는 능력이 매우 중요합니다.

제가 물고기 잡는 방법을 알려드릴께요^^

먼저 타임리프 공식 메뉴얼을 찾아갑니다.

Validation은 스프링과 관련이 있으니 타임리프 스프링 메뉴얼을 찾습니다.

https://www.thymeleaf.org/doc/tutorials/3.0/thymeleafspring.html

여기에서 목차를 봅니다. Validation과 관련 있는 다음 목차가 보입니다.

7 Validation and Error Messages

목차 안에서 찾아보면 원하는 내용이 다음에 있는 것을 확인할 수 있습니다.

7.4 Displaying errors outside forms

도움이 되셨길 바래요.

답변 감사합니다! 그런데 알려주신 메뉴얼을 찾아보면 애러 메세지는 출력이 가능한데 바인딩 실패한 사용자가 입력했던 값을 가져오는 기능은 찾을 수가 없습니다. ㅠㅠ

김영한님의 프로필 이미지
김영한
지식공유자

이건 저도 잘 모르겠네요. 혹시 아시는 분 있으면 답변 부탁드립니다.

컴퓨터공부하자님의 프로필 이미지
컴퓨터공부하자

작성한 질문수

질문하기