-
[김영한 스프링] 18. 검증1 Validation - 검증 요구사항 & 프로젝트 설정 V1 & 세팅Spring/스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 2023. 8. 29. 02:11
검증 요구사항
상품 관리 시스템에 새로운 요구사항이 추가되었다.
요구사항 : 검증 로직 추가
- 타입 검증
- 가격, 수량에 문자가 들어가면 검증 오류 처리
- 필드 검증
- 상품명 : 필수, 공백X
- 가격 : 1000원 이상, 1백만원 이하
- 수량 : 최대 9999
- 특정 필드의 범위를 넘어서는 검증
- 가격 * 수량의 합은 10,000원 이상
지금까지 만든 웹 애플리케이션은 폼 입력 시 숫자를 문자로 작성하거나해서 검증 오류가 발생하면 오류 화면으로 바로 이동한다. 이렇게 되면 사용자는 처음부터 해당 폼으로 다시 이동해서 입력을 해야 한다. 아마도 이런 서비스라면 사용자는 금방 떠나버릴 것이다. 웹 서비스는 폼 입력 시 오류가 발생하면, 고객이 입력한 데이터를 유지한 상태로 어떤 오류가 발생했는지 친절하게 알려주어야 한다.
컨트롤러의 중요한 역할 중 하나는 HTTP 요청이 정상인지 검증하는 것이다. 그리고 정상 로직보다 이런 검증 로직을 잘 개발하는 것이 어쩌면 더 어려울 수 있다.
참고: 클라이언트 검증, 서버 검증
- 클라이언트 검증은 조작할 수 있으므로 보안에 취약하다.
- 서버만으로 검증하면, 즉각적인 고객 사용성이 부족해진다.
- 둘을 적절히 섞어서 사용하되, 최종적으로 서버 검증은 필수
- API 방식을 사용하면 API 스펙을 잘 정의해서 검증 오류를 API 응답 결과에 잘 남겨주어야 함
프로젝트 설정 V1
이름 변경
다운로드한 파일 중 "validation-start"를 원하는 곳으로 이동 후 "validation"으로 이름변경
프로젝트 열기
build.gradle 열기
설정
설정 -> Gradle -> Intelij IDEA로 변경
설정 -> 파일 인코딩 -> 프로퍼티 파일에 대한 디폴트 인코딩을 UTF-8로 변경
실행
결과
출처 : https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-2
'Spring > 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술' 카테고리의 다른 글
[김영한 스프링] 20. 검증1 Validation - 프로젝트 준비 V2 (0) 2023.08.29 [김영한 스프링] 19. 검증1 Validation - 검증 직접 처리 (0) 2023.08.29 [김영한 스프링] 17. 메시지, 국제화 - 웹 애플리케이션에 메시지, 국제화 적용하기 (0) 2023.08.28 [김영한 스프링] 16. 메시지, 국제화 - 스프링 메시지 소스 (0) 2023.08.25 [김영한 스프링] 15. 메시지, 국제화 - 프로젝트 설정 & 세팅 & 메시지, 국제화 소개 (0) 2023.08.25 - 타입 검증