Input Validation & Sanitization
How Gauzy validates and sanitizes all incoming data.
Validation Pipelineβ
class-validator DTOsβ
All input is validated using DTOs with class-validator decorators:
import { IsString, IsOptional, IsUUID, IsEnum } from "class-validator";
export class CreateTaskDTO {
@IsString()
title: string;
@IsOptional()
@IsString()
description?: string;
@IsUUID()
projectId: string;
@IsEnum(TaskStatusEnum)
status: TaskStatusEnum;
}
Validation Pipeβ
Applied via the @UseValidationPipe() decorator:
@Post('/')
@UseValidationPipe({ whitelist: true })
async create(@Body() entity: CreateTaskDTO) { ... }
Optionsβ
| Option | Description |
|---|---|
whitelist | Strip properties not in the DTO |
transform | Auto-transform to DTO types |
forbidNonWhitelisted | Throw error for unknown properties |