Validarea DTO-urilor cu class-validator în NestJS în NestJS

pipeline NestJS 10.x / class-validator Q&A / Distribuie cod

Validarea declarativă a obiectelor DTO primite prin HTTP POST/PUT: constrângeri de format, unicitate, lungimi și mesaje personalizate.

Sintaxă
@IsString() @IsEmail() @Min(18) @ValidateNested()

În NestJS, abordarea standard pentru validarea datelor de intrare este combinarea obiectelor DTO (Data Transfer Object) cu biblioteca class-validator și ValidationPipe.

Adnotările plasate pe proprietățile clasei asigură verificarea automată a fiecărui câmp, respingând cererile invalide cu un răspuns detaliat 400 Bad Request înainte de executarea codului din controller.

Exemplu: DTO de înregistrare cont cu validări stricte
import { IsString, IsEmail, MinLength, MaxLength, IsInt, Min } from 'class-validator';

export class CreateAccountDto {
  @IsString({ message: 'Numele complet trebuie să fie text' })
  @MinLength(3, { message: 'Numele trebuie să aibă minim 3 caractere' })
  @MaxLength(100)
  fullName: string;

  @IsEmail({}, { message: 'Adresa de email furnizată nu este validă' })
  email: string;

  @IsInt()
  @Min(18, { message: 'Vârsta minimă este de 18 ani' })
  age: number;
}

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Validarea DTO-urilor cu class-validator în NestJS

Ai o nelămurire despre utilizarea comenzii Validarea DTO-urilor cu class-validator în NestJS sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.