[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
반응형