스프링 프레임워크 첫걸음_week 7

tth-k·2023년 11월 27일
post-thumbnail

8장 유효성 검사 기능 알아보기

8-1 유효성 검사의 종류

유효성 검사란?

입력내용이 요건에 만족하는지 그 타당성을 확인하는 입력체크

  • 단일 항목 검사
  • 상관 항목 검사(서로 관련이 있는 항목을 함께 체크하는 방법)

단일 항목 검사란?

입력 항목 하나에 대해 설정하는 입력 체크 기능
from 클래스 등의 필드에 어노테이션을 부여해서 사용한다.

<단일 항목 검사에 이용되는 주요 어노테이션>

어노테이션기능설명사용 예
@NotNullnull 값이 아닌 것을 검증함@Notnull
Integer no;
@NotEmpty문자열이 null 혹은 공백문자("")가 아닌 것을 검증함@NotEmpty
String name;
@NotBlank문자열이 null 혹은 공백(스페이스나 탭 등)이 아닌 것을 검증함@NotBlank
String name;
@Max지정한 숫자 이하인 것을 검증함#100 이하인 것을 검증
@Max(100)
Integer price;
@Min지정한 숫자 이상인 것을 검증함#10 이상인 것을 검증
@Min(10)
Integer price;
@Size문자열이나 컬렉션이 지정한 범위의 크기 내인 것을 검증#요소의 수가 0에서 10의 범위인 것을 검증
(문자열은 문자열 길이, 컬렉션은 사이즈)
@Size(min = 0, max = 10)
List < Integer > selected;
@AssetTrue값이 true인 것을 검증함@AssetTrue
Boolean empty;
@AssertFalse값이 false인 것을 검증함@AssertFalse
Boolen empty;
@Pattern지정한 정규 표현과 일치하는 것을 검증함#영숫자 검증
@Pattern(regexp)"[a-Za-Z0-9]")
@Range지정한 숫자 범위 안에 있는 것을 검증#1이상, 10이하 인것을 검증
@Range min = 1, max = 10)
Integer point;
@Decimal
Max
지정한 숫자 이하인 것을 검증#100.0 이하 검증(소수점 이하를 포함해서 검증할 때는
MAX가 아니고DecimalMax를 사용@DecimalMax("100.0")
BigDecimal val;
@Decimal
Min
지정한 숫자 이상인 것을 검증#10.0 이상 검증(소수점 이하를 포함해서 검증할 때는
Min이 아니라 DecimalMin를 사용
@DecimalMin("10.0")
BigDecimal val;
@Digits정수부와 소수부의 자릿수 검증#정수부가 3, 소수부가 1인것을 검증
@Digits(integer = 3, fraction = 1)
BigDcimal val;
@Future미래의 날짜인 것을 검증@Future
Date date;
@Past과거의 날짜인 것을 검증@Past
Date date;
@Vaild중첩된 form을 검증@Vaild
SampleForm sampleForm;
@Length문자열 길이가 지정한 범위 안에 있는 것을 검증
(문자열 전용 size)
@Length(min = 0, max = 10)
String name;
@Email문자열이 이메일 주소 형식인지 검증@Email
String email;
@CreditCard
Number
문자열이 신용카드 번호 형식인지 검증@CreditCardNumber
String card;
@URL문자열이 URL 형식인지 검증@URL
String url;

<null 체크 어노테이션>

어노테이션null인 경우공백 문자("")인 경우스페이스나 탭인 경우타입(용도)
@NotNull체크 에러허가허가Integer
@NotEmpty체크 에러체크에러허가컬렉션, 문자열, 배열용
@NotBlank체크 에러체크에러체크에러컬렉션, 문자열, 배열용

커스텀 유효성 검사란?

단일 항목 검사는 하나의 필드를 체크한다.
여러 필드에 대해 혼합해서 체크하는 것을 상관 항목(서로 관련이 있는 항목) 검사라고 한다.

상관 항목 검사 종류

  • Bean Validation을 사용하는 방법
  • 스프링 프레임워크에서 제공하는 Validator 인터페이스를 구현하는 방법

8-2 단일 항목 검사를 사용하는 프로그램 만들기 -> 생략

8-3 메세지 관리에 대해 알아보기 -> 생략

8-4 커스텀 유효성 검사기를 사용하는 프로그램 만들기 -> 생략

profile
백엔드 취준생 / 코린이 ヾ(≧▽≦*)o

0개의 댓글