Standard Schema Validation
NestJS 🔴 SeniorDéfinition
Depuis NestJS 12.0.0 (27 août 2026), les décorateurs @Body(), @Query(), @Param() et @RawBody() acceptent une option schema compatible avec la spécification Standard Schema (Zod, Valibot, ArkType). Le StandardSchemaValidationPipe valide la charge utile contre ce schema, en parallèle du flux historique class-validator qui reste entièrement supporte.
Analogie
Comme accepter un badge d'accès différent (RFID, QR code) au même portique : plusieurs formats de validation cohabitent sans casser l'existant.
Exemple de code
@Post()
create(@Body({ schema: createUserSchema }) body: CreateUserDto) {
return this.usersService.create(body);
}
// Activation globale du pipe
app.useGlobalPipes(new StandardSchemaValidationPipe());
Cas d'usage
Valider les requêtes avec des schémas Zod/Valibot déjà utilises cote frontend, sans réécrire des DTO class-validator.
Anti-pattern
Mélanger schema Standard Schema et class-validator sur le même DTO sans convention claire dans l'équipe.
Termes liés
Fiche mise à jour le 2026-09-27