강의

멘토링

커뮤니티

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

심모님의 프로필 이미지
심모

작성한 질문수

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

FieldError, ObjectError

globalError 질문 드립니다.

해결된 질문

작성

·

578

0

검증을 할때 필드 에러를 제외한 에러는 

controller에서 BindingResult 를 통해 글로벌 에러를 생성한다고 강의에서 들었습니다.

그후 타임리프를 통해 each = "err : ${#fields.globalErrors()} 를 통해 모든 globalError를 출력시켜주었는데요.

혹시 globalError에서도 에러이름을 통해 조건문으로 나타낼수있을까요?

예를들면 위에서 err에 globalErrors() 가 담겼으니

th:if = "${err.에러명 == 에러}" 이런식으로 표현하고싶습니다.

답변 1

2

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

안녕하세요. 심모님

globalErrors()는 오류 문자(String)를 반환합니다.

 

<div th:if="${#fields.hasGlobalErrors()}">

    <p class="field-error" th:each="err : ${#fields.globalErrors()}" th:text="${err}">글로벌 오류 메시지</p>

</div>

 

globalDetailedErrors()를 사용하시면 DetailedError를 반환합니다.

여기에서 err.code, err.message를 얻을 수 있습니다.

다음 예제를 보시면 이해가 되실거에요.

 

<div th:if="${#fields.hasGlobalErrors()}">

    <p class="field-error" th:each="err : ${#fields.globalDetailedErrors()}" th:text="|code=${err.code}, message=${err.message}|">글로벌 오류 메시지</p>

</div>

 

감사합니다.

심모님의 프로필 이미지
심모

작성한 질문수

질문하기