Mis apuntes de desarrollo web </>

Zod

Zod es una biblioteca de validación de datos para JavaScript y TypeScript. Es simple, poderosa, y permite definir esquemas para validar datos de entrada y garantizar que cumplan con ciertas reglas o estructuras.

Características Principales:

Definición de Esquemas:
Puede definir la forma esperada de los datos con tipos y reglas de validación.
Validación:
Valida datos de manera simple con métodos como parse o safeParse.
Integración con TypeScript:
Genera automáticamente tipos TypeScript basados en los esquemas definidos.
Encadenamiento de Métodos:
Define reglas adicionales mediante métodos como min, max, regex, etc.
Composición de Esquemas:
Puede combinar esquemas para representar datos más complejos.
Tipado seguro:
Permite definir esquemas de validación de datos en TypeScript, lo que garantiza que los datos de entrada cumplan con las reglas definidas en el esquema.
Sintaxis simple:
La sintaxis de Zod es simple y fácil de entender, lo que facilita la definición de esquemas de validación de datos.
Extensibilidad:
Permite extender los esquemas de validación con reglas personalizadas, lo que brinda flexibilidad para adaptar la validación a las necesidades específicas de cada proyecto.

Uso básico

Definir y Validar un Esquema

ejemplo definición y validación de esquema
z.object():
Define un esquema de objeto con las propiedades y reglas de validación especificadas.
parse():
Valida y transforma los datos de entrada según el esquema definido.

Validación Segura con safeParse

A diferencia de parse, el método safeParse no lanza excepciones. En su lugar, devuelve un objeto con el resultado.

ejemplo validación segura
safeParse():
Valida los datos de entrada y devuelve un resultado seguro que indica si la validación fue exitosa y los datos transformados, o los errores de validación.

Esquemas Personalizados

Es posible definir esquemas personalizados para validar tipos de datos específicos.

ejemplo esquema personalizado
refine():
Define una regla de validación personalizada para un esquema.

Tipos de Esquemas

Tipos primitivos

ejemplo tipos primitivos

Strings

ejemplo strings validaciones y transformaciones

Al utilizar métodos de validación, puede pasar un argumento adicional para proporcionar un mensaje de error personalizado.

ejemplo validaciones con mensaje de error

Numbers

Las validaciones de los numbers tambien pueden tener un mensaje de error personalizado.

ejemplo números y validaciones con mensaje de error

Se puede personalizar ciertos mensajes de error al crear un esquema numérico.

ejemplo esquema numerico mensaje de error

Objetos

ejemplo objeto