NestJS
NestJS 管道 (Pipes) 与参数校验:ValidationPipe 与 class-validator 实战
Waitwalker2026-08-2210 min
## 1. 全局 ValidationPipe 开启
```typescript
app.useGlobalPipes(
new ValidationPipe({
whitelist: true, // 自动剥离 DTO 中未声明的冗余字段
forbidNonWhitelisted: true, // 存在多余字段时直接抛出 400 错误
transform: true, // 自动根据 TS 类型做基本类型转换
})
);
```
## 2. DTO 声明式校验
```typescript
export class CreateUserDto {
@IsString()
@MinLength(3)
username: string;
@IsEmail()
email: string;
@IsInt()
@Min(18)
age: number;
}
```
#NestJS#Pipes#Validation#安全防御
回到文章列表 →