유효성 검사란?
입력내용이 요건에 만족하는지 그 타당성을 확인하는 입력체크
단일 항목 검사란?
입력 항목 하나에 대해 설정하는 입력 체크 기능
from 클래스 등의 필드에 어노테이션을 부여해서 사용한다.
<단일 항목 검사에 이용되는 주요 어노테이션>
| 어노테이션 | 기능설명 | 사용 예 |
|---|---|---|
| @NotNull | null 값이 아닌 것을 검증함 | @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 String email; | |
| @CreditCard Number | 문자열이 신용카드 번호 형식인지 검증 | @CreditCardNumber String card; |
| @URL | 문자열이 URL 형식인지 검증 | @URL String url; |
<null 체크 어노테이션>
| 어노테이션 | null인 경우 | 공백 문자("")인 경우 | 스페이스나 탭인 경우 | 타입(용도) |
|---|---|---|---|---|
| @NotNull | 체크 에러 | 허가 | 허가 | Integer |
| @NotEmpty | 체크 에러 | 체크에러 | 허가 | 컬렉션, 문자열, 배열용 |
| @NotBlank | 체크 에러 | 체크에러 | 체크에러 | 컬렉션, 문자열, 배열용 |
커스텀 유효성 검사란?
단일 항목 검사는 하나의 필드를 체크한다.
여러 필드에 대해 혼합해서 체크하는 것을 상관 항목(서로 관련이 있는 항목) 검사라고 한다.
상관 항목 검사 종류