awesome-repositories.com
Blog
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

10 repository-uri

Awesome GitHub RepositoriesRecursive Object Validation

Validation logic that recursively traverses nested object hierarchies and collections to enforce structural correctness.

Distinct from Object Shape Validation: Distinct from Object Shape Validation by specifically handling recursive traversal of nested classes and arrays rather than just flat property checks.

Explore 10 awesome GitHub repositories matching software engineering & architecture · Recursive Object Validation. Refine with filters or upvote what's useful.

Awesome Recursive Object Validation GitHub Repositories

Găsește cele mai bune repo-uri cu AI.Vom căuta cele mai potrivite repository-uri folosind AI.
  • typestack/class-validatorAvatar typestack

    typestack/class-validator

    11,796Vezi pe GitHub↗

    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

    Implements a recursive validation system for verifying complex data hierarchies, including nested classes and collections.

    TypeScriptdecoratorstypescriptvalidation
    Vezi pe GitHub↗11,796
  • fluentvalidation/fluentvalidationAvatar FluentValidation

    FluentValidation/FluentValidation

    9,727Vezi pe GitHub↗

    FluentValidation is a .NET validation library used to define strongly-typed validation rules for objects. It utilizes a fluent interface API and lambda expressions to ensure data integrity for classes and properties within the .NET type system. The library separates validation logic from business entities to keep domain models focused on core functionality. This approach enables the enforcement of business logic and the sanitization of input data or API payloads through a sequence of logic checks. The system supports complex validation surface areas, including the ability to nest validators

    Provides recursive validation of complex object graphs to ensure structural integrity across nested class hierarchies.

    C#
    Vezi pe GitHub↗9,727
  • yiminghe/async-validatorAvatar yiminghe

    yiminghe/async-validator

    9,099Vezi pe GitHub↗

    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.

    Recursively traverses nested object hierarchies and arrays to enforce structural correctness across deep data structures.

    TypeScript
    Vezi pe GitHub↗9,099
  • hamcrest/hamcrest-phpAvatar hamcrest

    hamcrest/hamcrest-php

    7,007Vezi pe GitHub↗

    Hamcrest PHP is a declarative assertion framework and matcher library used for unit testing in PHP. It provides a set of flexible matchers to verify object states, data types, and collection contents. The library includes specialized tools for XML verification using XPath expressions to analyze document structures and element content. It also allows for the creation of complex validation rules by combining multiple independent matchers through logical operators. The framework covers a broad range of validation primitives, including string content inspection, numeric comparison, and object pr

    Checks class inheritance, object properties, and the contents of traversable collections or arrays.

    PHP
    Vezi pe GitHub↗7,007
  • facebook/prop-typesAvatar facebook

    facebook/prop-types

    4,452Vezi pe GitHub↗

    prop-types este un validator de obiecte JavaScript și un type checker la runtime. Servește drept instrument de dezvoltare pentru verificarea faptului că proprietățile obiectelor corespund specificațiilor predefinite, fiind utilizat în principal pentru a asigura că datele transmise către componentele React se aliniază cu tipurile așteptate. Utilitarul detectează inconsistențele datelor prin logarea avertismentelor în consolă atunci când apar nepotriviri, în loc să arunce excepții. Utilizează un cache de avertismente stateful pentru a preveni log-urile duplicate și restricționează logica de validare la mediile non-producție pentru a evita overhead-ul de performanță în build-urile lansate. Proiectul acoperă validarea datelor prin parcurgerea recursivă a obiectelor și potrivirea bazată pe specificații. Oferă, de asemenea, instrumente pentru dezvoltatori pentru a reseta istoricul avertismentelor în timpul ciclurilor de testare.

    Provides recursive traversal of nested object hierarchies to enforce structural type correctness.

    JavaScript
    Vezi pe GitHub↗4,452
  • bufbuild/protoc-gen-validateAvatar bufbuild

    bufbuild/protoc-gen-validate

    4,122Vezi pe GitHub↗

    Acest proiect este un plugin de validare a protocol buffer-elor și un generator de cod care creează o logică de validare consistentă în mai multe limbaje de programare. Funcționează ca o extensie de compilator pentru toolchain-ul Protocol Buffer, permițând dezvoltatorilor să definească constrângeri semantice direct în fișierele de schemă pentru a asigura consistența datelor. Instrumentul utilizează opțiuni personalizate pentru a încorpora reguli de validare în definițiile mesajelor, mapând aceste constrângeri de schemă la tipare de implementare specifice limbajului. Utilizează verificarea constrângerilor bazată pe predicate și parcurgerea recursivă pentru a impune reguli în ierarhiile de mesaje imbricate. Suprafața de validare acoperă intervale și valori numerice, tipare și formate de șiruri, constrângeri de secvențe de octeți și impunerea enum-urilor. De asemenea, gestionează dimensiunile colecțiilor și câmpurilor repetate, validarea tipurilor complexe pentru timestamp-uri și durate, precum și cerințele pentru selecția câmpurilor de tip union.

    Implements depth-first traversal of nested message fields to enforce constraints across the entire data hierarchy.

    Goconstraintsprotocprotoc-plugin
    Vezi pe GitHub↗4,122
  • go-ozzo/ozzo-validationAvatar go-ozzo

    go-ozzo/ozzo-validation

    4,072Vezi pe GitHub↗

    ozzo-validation is a programmable data validation library for Go that verifies structs, maps, and primitive types using a declarative, rule-based approach. It functions as an interface-based validator, allowing for the recursive checking of nested data structures and custom types without the use of struct tags. The framework distinguishes itself as a context-aware validation engine, supporting the propagation of request-scoped data to rules that depend on external state. It provides extensive extensibility through custom rule definitions and the ability to override default failure text with l

    Uses Go interfaces to recursively traverse and validate nested data structures and custom types.

    Gogogolangozzo
    Vezi pe GitHub↗4,072
  • lidatong/dataclasses-jsonAvatar lidatong

    lidatong/dataclasses-json

    1,484Vezi pe GitHub↗

    Dataclasses-json is a library designed to facilitate the bidirectional conversion between Python data classes and JSON formats. It serves as a serialization tool that populates structured objects from raw data and transforms object instances into JSON strings, utilizing Python type hints to automate the mapping process. The library distinguishes itself by providing mechanisms for schema validation and runtime type coercion, ensuring that incoming data adheres to predefined model structures. It supports complex data requirements through recursive object traversal, which allows for the processi

    Recursively traverses nested object hierarchies to process and validate complex data structures.

    Pythondataclassesjsonpython
    Vezi pe GitHub↗1,484
  • hibernate/hibernate-validatorAvatar hibernate

    hibernate/hibernate-validator

    1,266Vezi pe GitHub↗

    Hibernate Validator este o implementare de referință a specificației Jakarta Validation, servind drept framework pentru impunerea integrității datelor în aplicațiile Java. Funcționează ca un motor de validare declarativ care procesează constrângerile obiectelor pentru a se asigura că starea aplicației rămâne consistentă. Utilizând reguli bazate pe metadate, biblioteca validează proprietățile obiectelor, parametrii metodelor și colecțiile imbricate pentru a menține standardele de date în toate straturile unei aplicații. Biblioteca se distinge prin capacitatea de a efectua analize statice asupra configurațiilor de validare, identificând erorile structurale înainte de runtime. Suportă cerințe complexe de integritate a datelor permițând dezvoltatorilor să definească logica de validare personalizată și să se integreze cu sistemele de dependency injection. Motorul dispune, de asemenea, de un sistem de interpolare a mesajelor care oferă raportarea erorilor localizate, asigurându-se că feedback-ul este adaptat mediilor specifice ale utilizatorilor. Dincolo de validarea de bază, proiectul include utilitare de diagnosticare pentru benchmarking-ul performanței și profilarea execuției pentru a monitoriza throughput-ul și utilizarea resurselor. Oferă opțiuni de configurare flexibile, permițând definirea regulilor prin adnotări sau descriptori externi, și include adaptoare specializate pentru extragerea valorilor din diverse surse de date.

    Ensures application state remains consistent by enforcing data integrity constraints on object properties and method parameters.

    Javabean-validationhibernatejava
    Vezi pe GitHub↗1,266
  • neoremind/fluent-validatorAvatar neoremind

    neoremind/fluent-validator

    1,019Vezi pe GitHub↗

    Fluent-validator is a Java validation framework designed to enforce data integrity through declarative constraints and automated service-layer checks. It provides a structured environment for defining validation logic that integrates with the JSR 303 specification, allowing developers to maintain consistent data quality across complex object hierarchies and application boundaries. The framework distinguishes itself through a fluent interface that enables the orchestration of validation chains, allowing for readable and maintainable rule sequences. It supports advanced execution control, inclu

    Performs cascaded validation by recursively checking nested fields and collections to ensure deep data integrity.

    Java
    Vezi pe GitHub↗1,019
  1. Home
  2. Software Engineering & Architecture
  3. Data Schema Validation
  4. Data Type Validation
  5. Object Shape Validation
  6. Recursive Object Validation

Explorează sub-etichetele

  • Object and Collection AssertionsValidation logic for checking class inheritance, object properties, and contents of traversable collections. **Distinct from Recursive Object Validation:** Broadens recursive validation to include inheritance and general collection property checks in a test context.