2024.06.18.화.TIL 내일배움캠프 44일차 <Validation>

김기남·2024년 6월 18일
0

안녕하세요, 오늘은 Validation 에 대해 알아보았습니다.

Validation은 왜 해야하는가?

회원가입 페이지에서 휴대폰 번호에 숫자가 아닌 문자가 들어간 경우, Bad Request Response와 오류페이지가 반환되고, Error 페이지로 이동되어 작성중인 폼이 모두 리셋되버리고 유저는 처음부터 다시 작성해야 하는 불편함이 발생할 수 있습니다.
우리는 이러한 불편함을 방지하기 위해, 검증을 통해 적절한 메세지를 유저에게 보여주어야 하고, 검증 오류로 인해 정상적인 동작을 하지 못하는 경우가 없어야 하며, 유저가 입력한 데이터는 유지된 상태로 다시 작성할 수 있게끔 해야 합니다.
이러한 기능을 구현하기 위해 Validation 을 해주어야 합니다.

Hibernate Bean Validator

웹 개발을 하다 보면 서버에 들어온 요청이 서버에서 요구하는 스펙에 잘 맞게 들어왔는지 검사해야 할 필요가 있습니다.
예를 들어 회원가입을 할 때 이름은 필수로 들어와야 한다던지, 나이는 0보다 커야 한다던지 같은 것 입니다.
물론 이런 식으로 들어온 요청에 대해 검사를 할 수도 있을 것입니다.

//이름이 비어있으면 exception을 던진다.
if (request.getName() == null) {
	throw Exception;
}

// 나이가 0보다 작으면 exception을 던진다.
if (request.getAge() < 0) {
	throw Exception;
}

하지만 점점 커지는 웹 어플리케이션 에서 위처럼 요청에 대한 검사를 하다 보면 필드가 늘어남에 따라 코드의 대부분이 유효성 검사 코드로 뒤덮일 것입니다.
스프링에서는 이런 상황을 방지하기 위해서 손쉽게 Validation을 하기 위 전략 중 하나로 Hibernate Bean Validator를 사용할 수 있습니다.
Hibernate Bean Validator는 유효성 검사를 해야 하는 필드에 @NotEmpty, @NotNull, @Max와 같은 어노테이션을 붙여줌으로써 유효성 검사를 진행할 수 있습니다.

참고 : https://gardeny.tistory.com/36

Spring Validation Annotation 총정리 참고 :
https://hyeran-story.tistory.com/81

profile
새로운 시작~!

0개의 댓글