class-validator는 데코레이터를 사용하여 간편하게 유효성 검증을 할 수 있는 라이브러리이다.
class-validator의 데코레이터 종류를 알아보자!
| 데코레이터 | 설명 |
| @IsEmpty() | 값이 null, undefined, "" 인지 확인 |
| @IsNotEmpty() | 값이 null, undefined, "" 이 아닌지 확인 |
| @IsIn(values: any[]) | 값이 values 배열에 있는 값인지 확인 |
| @IsNotIn(values: any[]) | 값이 values 배열에 없는 값인지 확인 |
| @IsBoolean() | 값이 boolean 인지 확인 |
| @IsDate() | 값이 Date 인지 확인 |
| @IsString() | 값이 문자열인지 확인 |
| @IsNumber(options: IsNumberOptions) | 값이 number인지 확인 |
| @IsInt() | 값이 Interger인지 확인 |
| @IsArray() | 값이 배열인지 확인 |
| @Min(min: number) | 값이 min 값보다 크거나 같은지 확인 |
| @Max(max: number) | 값이 max 값보다 작거나 같은지 확인 |
| @Contains(seed: string) | 문자열에 매개변수로 주어진 seed 값이 포함인지 확인 |
| @NotContains(seed: string) | 문자열에 매개변수로 주어진 seed 값이 미포함인지 확인 |
| @IsAlpha() | 문자열이 a-zA-Z로만 되어 있는지 확인 |
| @IsAlphanumeric() | 문자열이 숫자나 알파멧인지 확인 |
| @IsAscii() | 문자열이 ASCII 문자인지 확인 |
| @IsEmail(options?: IsEmailOptions) | 문자열이 이메일인지 확인 |
| @IsFQDN(options?: IsFQDNOptions) | 문자열이 도메인 주소인지 확인(예: domain.com) |
| @IsIP(version?: "4"|"6") | 문자열이 IP 주소인지 확인(버전 4 또는 6) |
| @IsJSON() | 문자열이 유효한 JSON 인지 확인 |
| @IsObject() | 문자열이 객체인지 확인(null, 함수, 배열은 false 반환) |
| @Length(min: number, max?: number) | 문자열 길이의 최대 최솟값 확인 |
| @MinLength(min: number) | 문자열의 최소 길이 확인 |
| @MaxLength(max: number) | 문자열의 최대 길이 확인 |
| @Matches(pattern: RegExp, modifiers?: string) | 문자열이 정규표현식에 매치되는 값인지 확인 |
| @ArrayNotEmtpy() | 배열이 빈 배열이 아닌지 확인 |
| @ArrayUnique(identifier?: (o) => any) | 배열에 있는 모든 값들이 고유한 값인지 확인. 참조를 통해 비교 |
참고
- Node.js 백엔드 개발자 되기
'JavaScript&TypeScript' 카테고리의 다른 글
| JavaScript - 한글 조사 처리 (0) | 2024.03.15 |
|---|---|
| TypeScript - any 타입을 지양하는 이유 (0) | 2023.09.10 |
| NestJS - 네이밍 규칙 (0) | 2023.09.03 |
| JavaScript - 구조 분해 할당 (0) | 2023.08.24 |
| JavaScript - Object.entries를 사용하여 객체를 배열로 변환 (0) | 2023.08.24 |