타임리프는 스프링의 '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 |
---|