0Pricing
TypeScript Academy · Lezione

Validazione a runtime con Zod

Validi e inferisca i tipi delle risposte API con gli schema Zod.

Validazione a runtime con Zod è una lezione TypeScript Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento TypeScript Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso TypeScript Academy include 4 lezioni in totale.

Benvenuto

Zod è una libreria di validazione degli schemi pensata per TypeScript, che inferisce i tipi dagli schemi e fornisce sia la validazione a runtime sia i tipi a compile time.

Installare Zod

Installi Zod nel progetto.
npm install zod

Schema di base

Definisca uno schema e ne inferisca il tipo TypeScript.
import { z } from 'zod';
const UserSchema = z.object({
  id: z.number(),
  name: z.string(),
  email: z.string().email(),
});
type User = z.infer<typeof UserSchema>;

Analizzare i dati

Utilizzi schema.parse() per convalidare i dati. In caso di errore, genera un'eccezione.
const user = UserSchema.parse({ id: 1, name: 'Alice', email: 'a@b.com' });
// user is typed as User

Analisi sicura

Utilizzi safeParse() per ottenere gli errori come valori invece di generarli come eccezioni.
const result = UserSchema.safeParse(unknownData);
if (result.success) {
  console.log(result.data); // User
} else {
  console.log(result.error.issues);
}

Schemi per array e oggetti

Componi schemi complessi con z.array e z.object.
const UsersSchema = z.array(UserSchema);
const CreateUserSchema = UserSchema.omit({ id: true });

Opzionale e nullable

Contrassegni i campi come opzionali o nullable.
const Schema = z.object({
  name: z.string(),
  bio: z.string().optional(),   // string | undefined
  avatar: z.string().nullable(), // string | null
});

Enum e union

Convalidi i valori enum e i tipi union.
const StatusSchema = z.enum(['active', 'inactive', 'banned']);
const InputSchema = z.string().or(z.number());

Trasformare i dati

Trasformi i valori analizzati.
const PriceSchema = z.string().transform(s => parseFloat(s));

Zod nelle route API

Convalidi i body delle richieste nelle route API di Express e Next.js.
app.post('/users', async (req, res) => {
  const result = CreateUserSchema.safeParse(req.body);
  if (!result.success) return res.status(400).json(result.error);
  const user = await db.create(result.data); // typed!
  res.json(user);
});

Validatori personalizzati

Aggiunga refinement personalizzati agli schemi.
const PasswordSchema = z.string().min(8).refine(
  s => /[A-Z]/.test(s), { message: 'Need uppercase' }
);

Verifica rapida

Quale metodo fornisce Zod per convalidare i dati senza generare eccezioni in caso di errore?

Riepilogo

Validazione a runtime con Zod: ha acquisito i concetti e i pattern chiave.

Domande Frequenti

La lezione «Validazione a runtime con Zod» è gratuita?

Sì — il testo completo di «Validazione a runtime con Zod» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso TypeScript Academy, passa a CoddyKit PRO. Il corso TypeScript Academy include 4 lezioni in totale.

Cosa imparerò in «Validazione a runtime con Zod»?

Validi e inferisca i tipi delle risposte API con gli schema Zod. Eserciti TypeScript Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare TypeScript Academy?

Non è richiesta alcuna esperienza precedente. TypeScript Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Validazione a runtime con Zod»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione TypeScript Academy?

Sì. Ogni lezione TypeScript Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Tipizzazione delle risposte di fetch con wrapper generici
  2. Validazione a runtime con Zod
  3. Codegen OpenAPI: tipi generati automaticamente
  4. Panoramica del client tRPC type-safe
← Torna a TypeScript Academy