안녕하세요. 오늘도 열심히 개발중입니다. Spring에서는 다양한 기능들이 내장되어 있습니다. 그 중 개인적으로 가장 편리하다고 느낀 기능은 유효성 검증입니다. 스프링에서는 간단히 어노테이션만 사용하여 유효성 검증을 할 수 있습니다. 이번 포스팅에서는 Validation을 활용하여 유효성 검증하는 방법에 대해서 알아보겠습니다.
Spring 유효성 검증 (Validation)
유효성 메시지 국제화 ( messages/validation.properties )
required.user.userName=유저 이름은 필수값입니다.
max.age.number=나이는 50까지 허용합니다.
min.age.number=나이는 20이상이여야 합니다..
totalPriceMin=가격 * 수량의 합은 {0}원 이상이어야 합니다. 현재 값 = {1}
먼저 유효성 검증 실패시 메시지는 간단히 텍스트로 입력할 수 있지만 좀 더 관리를 편하게 하기 위해서 validation.properties 파일을 만들어줍니다.
유효성 검증 클래스 ( domain/UserDto )
package com.example.demo.dto;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.persistence.Column;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class UserDto {
// DTO (data transfer object)
// 여기에 read-only 속성 가지면 vo 라고 함.
@NotBlank(message = "{required.user.userName}")
private String name;
@Max(value = 100,message = "{max.age.number}")
@Min(value = 20,message = "{min.age.number}")
private int age;
}
간단히 유효성 검증을 할 대상 객체 하나를 만들어주었습니다. 유효성 검사를 간단히 어노테이션 등록으로 진행해주었습니다.