HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
✍🏻
Learnary (learn - diary)
/
Validation Custom하기

Validation Custom하기

progress
Done
Tags
Spring
WhatWhyHow REFER

What


  • Validation이란 데이터값이 유효한지 판단하는 자바 빈 객첵이다.
  • HTTP 요청 파리미터에 애노테이션으로 간단하게 유효성을 검증 할 수 있다.
notion image

Why


  • HTTP를 통해 전달되어지는 값들의 유효성을 검증하기 위해 사용해야 한다.

How


  1. 의존성 추가(gradle)
implementation("org.springframework.boot:spring-boot-starter-validation")
 
  1. 애노테이션 만들기
@Target(ElementType.FIELD) @Retention(RetentionPolicy.RUNTIME) @Constraint(validatedBy = PhoneValidator.class) public @interface Phone { String message() default "휴대폰 번호"; Class[] groups() default {}; Class[] payload() default {}; }
 
  1. 구현체 만들기
public class PhoneValidator implements ConstraintValidator<Tel, String> { @Override public boolean isValid(String value, ConstraintValidatorContext context) { if (value == null) { return false; } return value.matches("(01[016789])(\\d{3,4})(\\d{4})"); } }
  1. 코드에 애노테이션 사용하기
@Getter public class RequestDto { // ... @Phone private String phoneNumber; }
  1. 컨트롤러에 @Valid 추가하기
@RestController public class ValidController { @PostMapping("/valid") public void valid(@RequestBody @Valid RequestDto dto){ System.out.println("벨리데이터 완성!"); } }

 REFER