0Pricing
TypeScript Academy · Lección

Validación en tiempo de ejecución con Zod

Valide e infiera tipos de respuestas de API con esquemas de Zod.

Validación en tiempo de ejecución con Zod es una lección gratuita de TypeScript Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de TypeScript Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de TypeScript Academy incluye 4 lecciones en total.

Bienvenida

Zod es una biblioteca de validación de esquemas orientada a TypeScript que infiere tipos a partir de los esquemas y proporciona validación en tiempo de ejecución y tipos en tiempo de compilación.

Instalar Zod

Instale Zod en su proyecto.
npm install zod

Esquema básico

Defina un esquema e infiera su tipo de 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>;

Analizar datos

Use schema.parse() para validar. Lanza una excepción si falla.
const user = UserSchema.parse({ id: 1, name: 'Alice', email: 'a@b.com' });
// user is typed as User

Análisis seguro

Use safeParse() para obtener los errores como valores en lugar de lanzarlos.
const result = UserSchema.safeParse(unknownData);
if (result.success) {
  console.log(result.data); // User
} else {
  console.log(result.error.issues);
}

Esquemas de arrays y objetos

Componga esquemas complejos con z.array y z.object.
const UsersSchema = z.array(UserSchema);
const CreateUserSchema = UserSchema.omit({ id: true });

Opcional y nullable

Marque los campos como opcionales o nullable.
const Schema = z.object({
  name: z.string(),
  bio: z.string().optional(),   // string | undefined
  avatar: z.string().nullable(), // string | null
});

Enum y unión

Valide valores enum y tipos de unión.
const StatusSchema = z.enum(['active', 'inactive', 'banned']);
const InputSchema = z.string().or(z.number());

Transformar

Transforme los valores analizados.
const PriceSchema = z.string().transform(s => parseFloat(s));

Zod en rutas de API

Valide los cuerpos de las solicitudes en las rutas de API de Express/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);
});

Validadores personalizados

Añada refinamientos personalizados a los esquemas.
const PasswordSchema = z.string().min(8).refine(
  s => /[A-Z]/.test(s), { message: 'Need uppercase' }
);

Comprobación rápida

¿Qué método proporciona Zod para validar datos sin lanzar una excepción si falla?

Recapitulación

Validación en tiempo de ejecución con Zod: ha dominado los conceptos y patrones clave.

Preguntas frecuentes

¿La lección «Validación en tiempo de ejecución con Zod» es gratis?

Sí — el texto completo de «Validación en tiempo de ejecución con Zod» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de TypeScript Academy, actualiza a CoddyKit PRO. El curso de TypeScript Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Validación en tiempo de ejecución con Zod»?

Valide e infiera tipos de respuestas de API con esquemas de Zod. Practicas TypeScript Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar TypeScript Academy?

No se requiere experiencia previa. TypeScript Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Validación en tiempo de ejecución con Zod»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de TypeScript Academy?

Sí. Cada lección de TypeScript Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Tipado de respuestas de fetch con wrappers genéricos
  2. Validación en tiempo de ejecución con Zod
  3. Generación de código OpenAPI: tipos autogenerados
  4. Introducción al cliente tRPC seguro respecto a los tipos
← Volver a TypeScript Academy