47 repositorios
Libraries for validating data structures, schemas, and business logic.
Explore 47 awesome GitHub repositories matching part of an awesome list · Data Validation. Refine with filters or upvote what's useful.
Zod is a TypeScript-first schema declaration and validation library designed to ensure end-to-end data integrity. It functions as a runtime type guard, allowing developers to define complex data structures through a declarative, chainable syntax. By using these schema definitions, the library automatically derives static TypeScript types, eliminating the need for manual type duplication and ensuring that runtime data matches expected application contracts. The library distinguishes itself through functional schema composition, which enables the creation of hierarchical structures by nesting a
TypeScript-first schema validation.
Pydantic is a data validation and serialization library that enforces schema constraints and performs type conversion on complex data structures. It utilizes standard Python type annotations to define data models, allowing developers to establish structured schemas that automatically enforce business rules and constraints without the need for custom domain-specific languages. The library distinguishes itself by transforming high-level model definitions into optimized code during initialization to minimize runtime overhead. It supports recursive validation for nested data structures and employ
Data validation using Python type hints.
Validator.js is a library of pure, stateless functions designed for the validation and sanitization of string data within any JavaScript environment. It provides a modular suite of tools to verify that user-provided information conforms to specific formats, such as emails, URLs, and dates, while simultaneously cleaning untrusted input to mitigate security risks. The library distinguishes itself through a design that avoids platform-specific APIs, ensuring consistent execution across browsers, servers, and edge runtimes. By utilizing a pre-compiled regular expression engine and a pure data tra
Library for string validation.
Yup is a JavaScript schema validation library used to define data shapes and validate runtime values. It functions as an object schema validator and a data coercion engine, allowing developers to transform raw input values into desired types before performing validation checks. The library is distinguished by its support for dynamic schema validation, where rules can be adjusted at runtime based on sibling field values or external context. It also enables recursive data structuring for polymorphic fields and provides a system for extracting static TypeScript interfaces from runtime schema def
Minimalist object schema validation.
Joi is a JavaScript data validation library used to define schemas that validate, cast, and sanitize data objects. It functions as an object schema validator and parser, ensuring that input data matches specific types and formats before it is processed by an application. The library features a conditional validation engine capable of dynamic schema enforcement, where validation logic and dependencies change based on the values of other keys within an object. It also serves as a data casting and sanitization tool, transforming input values into target types and removing sensitive keys from the
Object schema description and validation language.
Ajv is a JSON Schema validator and schema compilation engine used to verify that JavaScript objects conform to specific JSON Schema definitions. It functions as a data coercer and localization tool, allowing for the application of default values and the translation of validation error messages into different languages. The project converts declarative JSON Schema definitions into optimized JavaScript functions to increase validation speed. It supports the extension of validation logic through custom keywords and the generation of standalone validation code that executes without external depen
High-performance JSON Schema validator.
class-validator is a TypeScript class validation library that uses decorators to define constraints and rules for object properties. It functions as a decorator-based schema validator that ensures data integrity and structural correctness through a combination of synchronous checks and promise-based asynchronous rules. The library provides a recursive validation system for checking complex data hierarchies, including nested classes and individual elements within collections. It includes an object property whitelist utility capable of stripping undocumented properties or blocking unknown field
Decorator-based class property validation.
async-validator es una biblioteca de validación de esquemas de JavaScript y motor de validación de datos asíncronos. Verifica estructuras de objetos complejas y arrays anidados aplicando reglas recursivas y ejecución no bloqueante basada en promesas para garantizar la integridad de los datos. La biblioteca funciona tanto como un validador de restricciones de objetos como un pipeline de transformación de datos. Permite la sanitización, coerción y formateo de valores de entrada a través de una secuencia de funciones que se ejecutan antes y después del proceso de validación principal. El motor cubre una gama de capacidades que incluyen validación anidada recursiva, la aplicación de restricciones de esquema estándar y la integración de lógica de negocio personalizada a través de funciones de validación a medida. También proporciona herramientas para la personalización de mensajes de error y localización a través de cadenas estáticas o funciones dinámicas.
Asynchronous data validation.
Valibot is a modular, type-safe schema library for validating and parsing structural data in TypeScript environments.
Deno Valide gathers detailed information about every schema violation during data validation for comprehensive reporting.
Superstruct is a JavaScript and TypeScript data validation library used to verify that data structures match defined shapes and types. It functions as a composable schema builder and a TypeScript schema validator, ensuring that runtime data checks remain synchronized with static type definitions. The library features a data coercion engine that transforms input values or injects default values before the validation process is executed. It enables the creation of complex validation rules by nesting, merging, or omitting properties from existing structures. Its capabilities cover the validatio
Composable data validation for JS and TS.
Este proyecto es una biblioteca y framework de validación de JSON Schema utilizado para verificar que las instancias de datos se ajusten a definiciones declarativas. Funciona como un motor de validación que aplica restricciones estructurales y tipos de datos, al tiempo que sirve como un meta-validador para garantizar que las definiciones de esquema en sí sean sintácticamente correctas frente a meta-esquemas oficiales. La biblioteca está diseñada para la extensibilidad, permitiendo a los usuarios definir lógica de validación personalizada mapeando palabras clave de esquema a funciones invocables especializadas. Incluye un resolvedor de referencias basado en registro para gestionar referencias URI internas y externas para reutilizar subesquemas en diferentes documentos. El sistema cubre una amplia gama de capacidades de validación, incluyendo la verificación de tipos de datos, verificación de formato de cadena para tipos como correos electrónicos y UUIDs, e informes de errores completos. Las herramientas de diagnóstico proporcionan seguimiento de errores anidados y filtrado heurístico para identificar los fallos más relevantes dentro de una estructura de datos.
Implementation of the JSON Schema specification.
v8n es una biblioteca de validación de datos de JavaScript utilizada para verificar que los valores, objetos y arrays cumplan con criterios específicos. Funciona como un validador basado en esquemas y un motor de validación asíncrono, utilizando una API fluida para construir secuencias de reglas y restricciones encadenables. El framework se distingue por su capacidad para ejecutar promesas y solicitudes de red durante el proceso de validación para determinar si un valor es válido. Permite la creación de esquemas de validación reutilizables y proporciona un framework de reglas personalizable donde los usuarios pueden definir su propia lógica y configurar cómo se devuelven los resultados de error. La biblioteca cubre una amplia gama de capacidades de verificación, incluyendo verificación de tipos de datos para primitivas y prototipos, validación de contenido de cadenas mediante regex y conjuntos de caracteres, y restricciones numéricas. También admite la verificación de objetos complejos, validación de elementos de colecciones y arrays, y lógica condicional para invertir reglas o manejar valores opcionales. El sistema está diseñado para la recolección detallada de errores, evaluando valores contra cada regla definida para reunir una lista completa de fallos en lugar de detenerse en el primer error.
Fluent JavaScript validation library.
Lightweight, extensible data validation library for Python
Lightweight and extensible data validation.
Schema validation just got Pythonic
Pythonic schema validation library.
Esta librería es un framework de PHP para aplicar la integridad de datos y las reglas de negocio validando valores escalares y estructuras de objetos complejas contra restricciones predefinidas. Proporciona un enfoque estructurado para inspeccionar grafos de objetos y metadatos de propiedades, asegurando que los datos cumplan con los requisitos esperados antes de ser procesados por una aplicación. El framework destaca por un sistema de mapeo impulsado por metadatos que utiliza reflexión o archivos de configuración para aplicar reglas directamente a las propiedades de los objetos. Admite la orquestación de reglas contextuales, permitiendo a los desarrolladores organizar las restricciones en grupos lógicos que se activan selectivamente según el estado de la aplicación o el ciclo de vida de los datos. El sistema también emplea un patrón de recorrido basado en visitantes para inspeccionar estructuras de objetos complejas y utiliza carga perezosa (lazy-loading) para instanciar reglas de validación solo cuando es necesario. Más allá de la validación central, la librería incluye utilidades para el formato de datos, comparaciones temporales y saneamiento de entradas. Cuenta con una arquitectura desacoplada que separa las definiciones de restricciones de la lógica de ejecución, permitiendo la creación de reglas reutilizables y específicas del dominio. El manejo de errores se gestiona a través de una capa de abstracción de traducción, que mapea los resultados de las violaciones a mensajes localizados para informes internacionalizados.
Validates values and object properties against predefined rule sets to ensure compliance with business logic.
JSON schema validator, which is designed to be fast and simple to use. JSON Schema versions through draft-07 are fully supported.
JSON Schema validation tool.
CONTRIBUTIONS ONLY: Voluptuous, despite the name, is a Python data validation library.
Data validation library for complex structures.
The validatorjs library makes data validation in JavaScript very easy in both the browser and Node.js. This library was inspired by the Laravel framework's Validator.
Data validation inspired by Laravel.
ForgJs is a javascript lightweight object validator.
Lightweight object validation.
A robust email syntax and deliverability validation library for Python.
Robust email syntax and deliverability validation.