Validating Data with Pipes
Swipe to show menu
DTOs define the structure of your data, but they do not validate it by default.
To ensure that incoming data is correct, you can use validation with pipes.
First, install the required packages:
npm install class-validator class-transformer
Update your DTO with validation rules:
import { IsString, IsInt } from 'class-validator';
export class CreateUserDto {
@IsString()
name: string;
@IsInt()
age: number;
}
Here is what is happening:
@IsString(): ensures the value is a string;@IsInt(): ensures the value is a number;- The DTO now includes validation rules.
Next, enable validation in your application.
Open main.ts and update it:
import { ValidationPipe } from '@nestjs/common';
app.useGlobalPipes(new ValidationPipe());
Now when a request is sent, Nest.js automatically checks the data.
If the data is invalid, the request is rejected and an error is returned.
This ensures your application only works with valid and predictable data.
Everything was clear?
Thanks for your feedback!
SectionΒ 1. ChapterΒ 19
Ask AI
Ask AI
Ask anything or try one of the suggested questions to begin our chat
SectionΒ 1. ChapterΒ 19