[NestJS] Class Validator 유효성 검사

2024. 7. 4. 22:36카테고리 없음

728x90
반응형

 

NestJS에서 DTO(Data Transfer Object)를 정의하고 유효성 검사를 수행하는 방법 중 하나는 class-validator 모듈을 활용하는 것입니다. 이 모듈은 간편하게 클래스 기반의 유효성 검사를 지원하여, 입력 데이터의 유효성을 쉽게 검사할 수 있습니다.

 

1. class-validator 모듈 설치

npm i class-validator

 

 

2. 전역 유효성 검사 파이프 설정

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import { ValidationPipe } from '@nestjs/common';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);

  // 전역 유효성 검사 파이프 설정
  app.useGlobalPipes(
    new ValidationPipe({
      transform: true, // 입력 데이터를 자동으로 변환할지 여부 설정
    }),
  );

  await app.listen(3000);
}
bootstrap();

 

3. DTO 클래스에 class-validator 데코레이터 사용

import { IsNumber, IsString, IsNotEmpty } from 'class-validator';

export class CreateReservationDto {
  @IsNumber()
  performanceId: number;

  @IsString()
  grade: string;

  @IsNumber()
  seatCount: number;

  @IsNotEmpty({ message: '공연 시간을 입력해주세요.' })
  performanceTime: string;
}

 

이렇게 class-validator 모듈을 사용하면 간편하게 클래스 기반의 유효성 검사를 수행할 수 있습니다. 입력 데이터의 유효성을 쉽게 검사할 수 있으며, 데코레이터를 통해 유효성 규칙을 선언적으로 정의할 수 있습니다. 다양한 데코레이터는 공식홈페이지를 확인하시면 더욱 좋을거같습니다.

728x90
반응형