47 Repos
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 is a JavaScript schema validation library and asynchronous data validation engine. It verifies complex object structures and nested arrays by applying recursive rules and non-blocking, promise-based execution to ensure data integrity. The library functions as both an object constraint validator and a data transformation pipeline. It allows for the sanitization, coercion, and formatting of input values through a sequence of functions that run before and after the primary validation process. The engine covers a range of capabilities including recursive nested validation, the en
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.
Dieses Projekt ist eine JSON-Schema-Validierungsbibliothek und ein Framework, das verwendet wird, um zu verifizieren, dass Dateninstanzen deklarativen Definitionen entsprechen. Es fungiert als Validierungs-Engine, die strukturelle Einschränkungen und Datentypen erzwingt, während es gleichzeitig als Meta-Validator dient, um sicherzustellen, dass Schemadefinitionen selbst syntaktisch korrekt gegenüber offiziellen Meta-Schemas sind. Die Bibliothek ist auf Erweiterbarkeit ausgelegt und erlaubt es Nutzern, benutzerdefinierte Validierungslogik durch das Mapping von Schema-Schlüsselwörtern auf spezialisierte aufrufbare Funktionen zu definieren. Sie enthält einen registry-basierten Referenz-Resolver zur Verwaltung interner und externer URI-Referenzen, um Subschemas über verschiedene Dokumente hinweg wiederzuverwenden. Das System deckt ein breites Spektrum an Validierungsfunktionen ab, einschließlich Datentypverifizierung, String-Formatprüfung für Typen wie E-Mails und UUIDs sowie umfassende Fehlerberichterstattung. Diagnosetools bieten verschachteltes Fehler-Tracking und heuristische Filterung, um die relevantesten Fehler innerhalb einer Datenstruktur zu identifizieren.
Implementation of the JSON Schema specification.
v8n ist eine JavaScript-Datenvalidierungsbibliothek, die verwendet wird, um zu prüfen, ob Werte, Objekte und Arrays spezifische Kriterien erfüllen. Sie fungiert als schemabasierter Validator und asynchrone Validierungs-Engine und nutzt eine Fluent-API, um Sequenzen verkettbarer Regeln und Constraints zu konstruieren. Das Framework zeichnet sich durch die Fähigkeit aus, Promises und Netzwerkanfragen während des Validierungsprozesses auszuführen, um zu bestimmen, ob ein Wert gültig ist. Es ermöglicht die Erstellung wiederverwendbarer Validierungsschemata und bietet ein anpassbares Regel-Framework, in dem Benutzer ihre eigene Logik definieren und konfigurieren können, wie Fehlerergebnisse zurückgegeben werden. Die Bibliothek deckt ein breites Spektrum an Verifizierungsfunktionen ab, einschließlich Datentyp-Verifizierung für Primitive und Prototypen, String-Inhaltsvalidierung mittels Regex und Zeichensätzen sowie numerische Constraints. Sie unterstützt zudem komplexe Objektverifizierung, Kollektions- und Array-Element-Validierung sowie bedingte Logik zum Umkehren von Regeln oder zum Behandeln optionaler Werte. Das System ist für eine detaillierte Fehlererfassung konzipiert und bewertet Werte gegen jede definierte Regel, um eine vollständige Liste von Fehlern zu sammeln, anstatt beim ersten Fehler anzuhalten.
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.
This library is a PHP framework for enforcing data integrity and business rules by validating scalar values and complex object structures against predefined constraints. It provides a structured approach to inspecting object graphs and property metadata, ensuring that data conforms to expected requirements before it is processed by an application. The framework distinguishes itself through a metadata-driven mapping system that uses reflection or configuration files to apply rules directly to object properties. It supports contextual rule orchestration, allowing developers to organize constrai
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.