47 repository-uri
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 este o bibliotecă JavaScript de validare a schemelor și un motor de validare asincronă a datelor. Verifică structurile complexe de obiecte și array-urile imbricate prin aplicarea de reguli recursive și execuție non-blocking bazată pe promise-uri pentru a asigura integritatea datelor. Biblioteca funcționează atât ca un validator de constrângeri de obiecte, cât și ca un pipeline de transformare a datelor. Permite sanitizarea, constrângerea și formatarea valorilor de input printr-o secvență de funcții care rulează înainte și după procesul principal de validare. Motorul acoperă o gamă de capabilități, inclusiv validarea recursivă imbricată, aplicarea constrângerilor standard de schemă și integrarea logicii de business personalizate prin funcții de validare bespoke. De asemenea, oferă instrumente pentru personalizarea mesajelor de eroare și localizarea prin șiruri statice sau funcții dinamice.
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.
Acest proiect este o bibliotecă și un framework de validare JSON Schema utilizat pentru a verifica dacă instanțele de date respectă definițiile declarative. Funcționează ca un motor de validare care impune constrângeri structurale și tipuri de date, servind în același timp ca meta-validator pentru a asigura că definițiile de schemă sunt corecte din punct de vedere sintactic față de meta-schemele oficiale. Biblioteca este concepută pentru extensibilitate, permițând utilizatorilor să definească logică de validare personalizată prin maparea cuvintelor cheie de schemă la funcții apelabile specializate. Include un rezolvator de referințe bazat pe registru pentru gestionarea referințelor URI interne și externe pentru a reutiliza subschemele în diferite documente. Sistemul acoperă o gamă largă de capabilități de validare, inclusiv verificarea tipului de date, verificarea formatului șirurilor pentru tipuri precum email-uri și UUID-uri, și raportarea cuprinzătoare a erorilor. Instrumentele de diagnostic oferă urmărirea erorilor imbricate și filtrarea euristică pentru a identifica cele mai relevante eșecuri dintr-o structură de date.
Implementation of the JSON Schema specification.
v8n este o bibliotecă de validare a datelor JavaScript utilizată pentru a verifica dacă valorile, obiectele și array-urile îndeplinesc criterii specifice. Funcționează ca un validator bazat pe schemă și un motor de validare asincron, utilizând un API fluent pentru a construi secvențe de reguli și constrângeri înlănțuibile. Framework-ul se distinge prin capacitatea sa de a executa promise-uri și cereri de rețea în timpul procesului de validare pentru a determina dacă o valoare este validă. Permite crearea de scheme de validare reutilizabile și oferă un framework de reguli personalizabil unde utilizatorii își pot defini propria logică și pot configura modul în care sunt returnate rezultatele erorilor. Biblioteca acoperă o gamă largă de capabilități de verificare, inclusiv verificarea tipului de date pentru primitive și prototipuri, validarea conținutului șirurilor prin regex și seturi de caractere, și constrângeri numerice. De asemenea, suportă verificarea obiectelor complexe, validarea elementelor de colecție și array, și logica condiționată pentru inversarea regulilor sau gestionarea valorilor opționale. Sistemul este conceput pentru colectarea detaliată a erorilor, evaluând valorile față de fiecare regulă definită pentru a aduna o listă completă de eșecuri în loc să se oprească la prima eroare.
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.
Această bibliotecă este un framework PHP pentru impunerea integrității datelor și a regulilor de business prin validarea valorilor scalare și a structurilor complexe de obiecte față de constrângeri predefinite. Oferă o abordare structurată pentru inspectarea grafurilor de obiecte și a metadatelor proprietăților, asigurându-se că datele respectă cerințele așteptate înainte de a fi procesate de o aplicație. Framework-ul se distinge printr-un sistem de mapare bazat pe metadate care utilizează reflexia sau fișierele de configurare pentru a aplica reguli direct proprietăților obiectelor. Suportă orchestrarea regulilor contextuale, permițând dezvoltatorilor să organizeze constrângerile în grupuri logice care se declanșează selectiv pe baza stării aplicației sau a ciclului de viață al datelor. Sistemul folosește, de asemenea, un model de traversare bazat pe vizitatori pentru a inspecta structuri complexe de obiecte și utilizează lazy-loading pentru a instanția regulile de validare doar atunci când este necesar. Dincolo de validarea de bază, biblioteca include utilitare pentru formatarea datelor, comparații temporale și sanitizarea input-ului. Dispune de o arhitectură decuplată care separă definițiile constrângerilor de logica de execuție, facilitând crearea de reguli reutilizabile, specifice domeniului. Gestionarea erorilor este realizată printr-un strat de abstractizare a traducerii, care mapează rezultatele încălcărilor către mesaje localizate pentru raportare internaționalizată.
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.