validation 처리
오류가 났을 경우 오류 내용을 보여주면서 다시 입력했던 내용을 보여주어야한다.
ex :
상품을 등록 할때 등록 정보가 올바르지 않다면
오류 내용과 틀린 등록 내용도 같이 보여주어야한다
이럴때 validation을 처리할때 해당 오류를 객체에 넣어서 관리를 해주면된다.
검증이 실패했을 경우 오류를 보관 할 곳을 생성
ex :
검증 오류를 보관
Map<String, String> errors = new HashMap<>();
검증 로직
//검증 로직
if(!StringUtils.hasText(item.getItemName())) {
errors.put("itemName", "이름이 없습니다");
}
~~
검증이 실패한다면 다시 검증전으로 이동
//검증이 실패하면 다시 입력폼으로
if(!errors.isEmpty()) {
model.addAttribute("errors", errors);
return "validation/v1/addForm";
}
문제점
- 이렇게 하면 view에 중복되는 것들잉 너무 많이 생긴다
- 타입오류 처리가 불가능하다, 숫자형이 문자형으로 처리가 불가능하다
그래서 v2로 이동~
출처 : 인프런 김영한님 스프링 mvc2
'springmvc' 카테고리의 다른 글
MessageConverter, 요청 매핑 핸들러 어댑터 (0) | 2021.12.03 |
---|---|
valdation(2) (0) | 2021.08.19 |
메시지 국제화 (0) | 2021.08.19 |
@requestMapping 에러 처리(1) (0) | 2021.08.08 |
controller, model, view (0) | 2021.08.01 |