Validation을 하는 이유
폼 입력 시 검증 오류가 발생하면
오류 화면으로 바로 이동하게 됩니다.
이렇게 되면 사용자는 해당 폼으로 이동하여, 처음부터 다시 입력을 해야 합니다.
Controller의 중요한 역할
Controller의 중요한 역할 중 하나는 HTTP 요청이 정상인지 검증하는 것입니다.
Validation을 하는 위치
Validation은 Client와 Server에서 합니다.
그러므로 4가지 경우가 있습니다.
- 어디에서도 검증을 하지 않음
- 클라이언트만 검증
- 서버만 검증
- 클라이언트 + 서버 검증
1. 어디에서도 검증을 하지 않음
어디에서도 검증을 하지 않아도 되긴 하지만,
검증을 한다는 것은 제한이 필요한 경우이므로 해당사항이 아닙니다.
2. 클라이언트만 검증
Client 검증은 조작할 수 있으므로 보안에 취약합니다.
3. 서버만 검증
Server만으로 검증하면, 즉각적인 고객 사용성이 부족해집니다.
4. 클라이언트 + 서버 검증
그래서 클라이언트 검증과 서버 검증을 적절히 섞어 사용하되,
클라이언트 검증은 조작이 가능하므로
최종적으로 서버 검증을 해야 합니다.
검증은 주로 자바 스크립트로 클라이언트 검증과 서버 검증을 하게 됩니다.
API 방식을 사용한다면
API 스펙을 잘 정의하여
검증 오류를 API 응답 결과에 잘 남겨주어야 합니다.
다음으로 Validation 오류를 담는 객체인 BindingResult에 대해 알아봅시다.
Validation 검증 - BindingResult란?
BindingResult 란? BindingResult는 스프링이 제공하는 검증 오류 처리 방법의 핵심입니다. BindingResult는 스프링이 제공하는 검증 오류를 보관하는 객체입니다. 검증 오류가 발생하면 BindingResult 객체에
hhhhicode.tistory.com
'Spring MVC > Validation' 카테고리의 다른 글
Validation 검증 - Bean Validation의 글로벌 Validation 오류 (2) | 2022.12.08 |
---|---|
Validation 검증 - Bean Validation과 Spring MVC (1) | 2022.12.06 |
Validation 검증 - Bean Validation 이란? (1) | 2022.12.06 |
Validation 검증 - Validator를 사용하는 2가지 방법 (2) | 2022.12.05 |
Validation 검증 - Validator 이해와 MyValidator 만들어보기 (1) | 2022.12.04 |
Validation 검증 - 사용자 입력 보존과 오류 메시지 남기기 (1) | 2022.12.03 |
Validation 검증 - BindingResult 사용 (1) | 2022.12.02 |
Validation 검증 - BindingResult란? (1) | 2022.12.02 |
댓글