카테고리 없음

패스트캠퍼스 환급챌린지 21일차 : 코드팩토리의 백엔드 아카데미 : 한 번에 끝내는 NestJS 패키지 - 기초부터 MSA까지 강의 후기

Laftel 2025. 3. 25. 15:51
반응형

***본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다
자주 사용하는 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

반응형