9 Repos
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 9 awesome GitHub repositories matching software engineering & architecture · Recursive Object Validation. Refine with filters or upvote what's useful.
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.
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.
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
Recursively traverses nested object hierarchies and arrays to enforce structural correctness across deep data structures.
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.
prop-types ist ein JavaScript-Objekt-Validator und Laufzeit-Typ-Checker. Es dient als Entwicklungstool zur Überprüfung, ob Objekteigenschaften vordefinierten Spezifikationen entsprechen, und wird hauptsächlich verwendet, um sicherzustellen, dass Daten, die an React-Komponenten übergeben werden, mit den erwarteten Typen übereinstimmen. Das Dienstprogramm erkennt Dateninkonsistenzen, indem es Warnungen in die Konsole protokolliert, wenn Diskrepanzen auftreten, anstatt Exceptions auszulösen. Es verwendet einen zustandsbehafteten Warnungs-Cache, um doppelte Protokolle zu verhindern, und beschränkt die Validierungslogik auf Nicht-Produktionsumgebungen, um Performance-Einbußen in veröffentlichten Builds zu vermeiden. Das Projekt deckt die Datenvalidierung durch rekursive Objektdurchquerung und spezifikationsbasiertes Matching ab. Es bietet zudem Entwickler-Tools zum Zurücksetzen der Warnungshistorie während Testzyklen.
Provides recursive traversal of nested object hierarchies to enforce structural type correctness.
Dieses Projekt ist ein Protocol-Buffer-Validierungs-Plugin und Code-Generator, der konsistente Validierungslogik über mehrere Programmiersprachen hinweg erstellt. Es fungiert als Compiler-Erweiterung für die Protocol-Buffer-Toolchain und ermöglicht es Entwicklern, semantische Constraints direkt in Schema-Dateien zu definieren, um Datenkonsistenz sicherzustellen. Das Tool verwendet benutzerdefinierte Optionen, um Validierungsregeln in Nachrichtendefinitionen einzubetten und diese Schema-Constraints auf sprachspezifische Implementierungsmuster zu mappen. Es nutzt prädikatbasierte Constraint-Prüfung und rekursive Traversierung, um Regeln über verschachtelte Nachrichtenhierarchien hinweg durchzusetzen. Die Validierung umfasst numerische Bereiche und Werte, String-Muster und -Formate, Byte-Sequenz-Constraints sowie Enum-Durchsetzung. Zudem verwaltet es Sammlungen und Größen wiederholter Felder, komplexe Typvalidierung für Zeitstempel und Zeitdauern sowie Anforderungen für die Auswahl von Union-Feldern.
Implements depth-first traversal of nested message fields to enforce constraints across the entire data hierarchy.
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.
Hibernate Validator is a reference implementation of the Jakarta Validation specification, serving as a framework for enforcing data integrity across Java applications. It functions as a declarative validation engine that processes object constraints to ensure that application state remains consistent. By utilizing metadata-driven rules, the library validates object properties, method parameters, and nested collections to maintain data standards throughout an application's layers. The library distinguishes itself through its ability to perform static analysis on validation configurations, ide
Ensures application state remains consistent by enforcing data integrity constraints on object properties and method parameters.
Fluent-validator ist ein Java-Validierungs-Framework zur Durchsetzung von Datenintegrität durch deklarative Constraints und automatisierte Service-Layer-Prüfungen. Es bietet eine strukturierte Umgebung zur Definition von Validierungslogik, die sich in die JSR 303-Spezifikation integriert, was es Entwicklern ermöglicht, eine konsistente Datenqualität über komplexe Objekt-Hierarchien und Anwendungsgrenzen hinweg zu wahren. Das Framework zeichnet sich durch ein flüssiges Interface aus, das die Orchestrierung von Validierungsketten ermöglicht, was zu lesbaren und wartbaren Regelsequenzen führt. Es unterstützt fortgeschrittene Ausführungskontrolle, einschließlich der Fähigkeit, zwischen Fail-Fast- und Fail-Over-Strategien zu wechseln, und nutzt Proxy-basierte Interception, um Methodenargumente innerhalb verwalteter Container automatisch zu verifizieren. Über die Standard-Constraint-Integration hinaus erleichtert die Bibliothek tiefe Datenintegrität durch rekursive Objektgraph-Traversierung und kaskadierte Validierung. Sie kommt dynamischen Geschäftsanforderungen entgegen, indem sie bedingte Logik, Validierungsgruppen für kontextbewusste Regelauflösung und die Injektion externer Eigenschaften in den Validierungsumfang unterstützt. Entwickler können zudem benutzerdefinierte Validierungsklassen implementieren, um einzigartige Datenanforderungen neben Standard-Annotationen zu handhaben.
Performs cascaded validation by recursively checking nested fields and collections to ensure deep data integrity.