반응형
***본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다
자주 사용하는 class validator를 사용을 해보겠다.
class validator 종류 참고. 시간 남을 때, 해당 깃허브 정독해보자.
https://github.com/typestack/class-validator?tab=readme-ov-file#validation-decorators
GitHub - typestack/class-validator: Decorator-based property validation for classes.
Decorator-based property validation for classes. Contribute to typestack/class-validator development by creating an account on GitHub.
github.com
기본적으로 알아야하는 class validator
// //null || undefined
// @IsDefined()
// @IsOptional()
// @Equals('hello')
// @NotEquals('bye')
// //null || undefined || ''
// @IsEmpty()
// @IsNotEmpty()
// @IsIn(['action','fantasy'])
// @IsNotIn('action','fantasy')
IsDefined()
값이 undefined가 아니어야 함
- null, '', 0, false는 허용
- 정의 자체가 안 되어 있는 경우 (예: 아예 전달되지 않음) → 에러
@IsOptional()
해당 값이 존재하지 않으면 검사 자체를 건너뜀
- 즉, 값이 있으면 다른 데코레이터들을 적용하고, 없으면 검사하지 않음
자주 쓰는 조합
@IsOptional()
@IsNotEmpty()
title?: string;
→ title이 존재하면 비어 있지 않아야 함.
→ 존재하지 않으면 통과
@Equals(value: any)
값이 지정된 값과 정확히 같아야 함
@NotEquals(value: any)
값이 지정된 값과 같으면 안 됨
@IsEmpty()
값이 비어 있어야 함
- 허용되는 값: undefined, null, ''
@IsNotEmpty()
값이 비어 있으면 안 됨
- undefined, null, '' → 모두 실패
@IsIn(values: any[])
지정된 배열 중 하나의 값이어야 함
@IsIn(['action', 'fantasy']) genre: string;
@IsNotIn(values: any[])
지정된 배열에 포함되면 안 됨
@IsNotIn(['action', 'fantasy'])
genre: string;




#패스트캠퍼스 #직장인자기계발 #직장인공부 #환급챌린지 #패스트캠퍼스후기 #오공완
https://bit.ly/4hTSJNB
반응형