타임리프는 스프링의 'BindingResult'를 활용해서 편리하게 검증오류를 표현하는 기능 제공

 

BindingResult : 스프링이 제공하는 검증 오류를 보관하는 객체

 

 

'#fileds' : $fields 로 'BindingResult' 가 제공하는 검증 오류에 접근할 수 있다.

'th:errors': 해당 필드에 오류가 있는 경우에 태그를 출력한다. th:if 의 편의 버전

'th:errorclass' : 'th:field'에서 지정한 필드 오류가 있으면 'class' 정보를 추가한다

 

검증 오류를 적용하는 3가지 방법

1. @ModelAttribut의 객체에 타입 오류등으로 바인딩이 실패하는 경우 스프링이 'FieldError' 생성해서 'BindingResult'에

넣어준다.

2. 개발자가 직접 넣는다.

3. Validator 사용

 

주의_'BindingResult'는 검증할 대상 바로 다음에 와야한다. 순서가 중요함.

 

* 사용자 입력 값 유지 *

th:field="*{price}"

 정상 상황에는 모델 객체의 값을 사용하지만, 오류가 발생하면 FieldError에서 보관한 값을 사용해서 값을 출력한다

 

'Java Web > Thymeleaf' 카테고리의 다른 글

[Thymeleaf] 1. 타임리프를 왜 공부하는가  (0) 2022.04.13

+ Recent posts