Validacion con Zod
Los tipos no validan en runtime. Zod te da schemas para validar inputs (API/forms) y tipos derivados para TS.
Conceptos clave
- Schema -> parse/safeParse
- Inferir tipos: z.infer
- Errores claros para el cliente
Ejemplo
import { z } from 'zod';
const SignupSchema = z.object({
email: z.string().email(),
password: z.string().min(8),
});
type SignupInput = z.infer<typeof SignupSchema>;
const parsed = SignupSchema.safeParse({ email: '[email protected]', password: '12345678' });
if (!parsed.success) console.log(parsed.error.flatten());
Ejercicio
- Crea un schema para crear un curso (title, description, level).
- Usa safeParse y devuelve errores amigables.
Checklist de mastery
- Entiendo que TS no valida en runtime.
- Puedo usar safeParse sin tirar excepciones.
Profundizacion laboral
Para usar este tema en un contexto profesional, no alcanza con conocer la definicion. Necesitas reconocer restricciones, elegir una solucion razonable y explicar el criterio. Trabaja siempre con una version pequena del problema antes de pasar a una implementacion grande.
Aplicacion en entrevista o trabajo
- Describe el problema en una frase clara.
- Explica que alternativa elegiste y que descartaste.
- Muestra evidencia: codigo, captura, tabla, prototipo, checklist o documento.
- Cierra con una mejora futura para demostrar criterio.