8 Repos
Recursive validation of properties that are instances of other decorated classes or complex types.
Distinct from Data Type Validation: Focuses on recursive class instance validation rather than simple runtime type checking.
Explore 8 awesome GitHub repositories matching software engineering & architecture · Nested 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
Recursively checks properties that are instances of other decorated classes or multi-dimensional arrays.
Vee-validate is a form validation library and state management tool for Vue applications. It enables the validation of user inputs through declarative rules and tracks form metadata, including submission status and dirty states. The library functions as a wrapper for integrating external schema validation libraries to enforce consistent data shapes. It also serves as an internationalized framework for displaying translated error messages and localized feedback. The project covers broad capability areas including form state management, the handling of complex nested data structures, and the s
Applies validation rules and tracks state for complex data structures containing nested objects and arrays.
Chai is an assertion library for Node.js and browser-based JavaScript applications. It functions as both a behavior-driven development and test-driven development framework, providing a system to verify code outputs, application state, and general logic. The project is an extensible validation engine that uses a plugin-based system to allow the registration of custom assertions and specialized data checks. It supports multiple modular assertion styles to accommodate different validation philosophies. The library covers a broad range of data validation capabilities, including the inspection o
Enables the inspection of deep object properties using dot-notation to verify complex data structures.
ts-toolbelt is a collection of specialized utilities for manipulating and validating TypeScript types. It provides a toolkit for performing complex transformations on objects, unions, and functions to enforce strict data consistency at compile time. The library features dedicated transformers for function types, including utilities for currying, composition, and signature extraction. It also includes an object type manipulator for deep merging, patching, and reshaping complex structures. The capability surface extends to literal string processing, type-level arithmetic, and tuple operations.
Provides type-safe string paths for accessing nested object properties with full IDE autocomplete.
Sugar ist eine JavaScript-Utility-Bibliothek, die darauf ausgelegt ist, native Objekte und Prototypen um zusätzliche Methoden zur Datenmanipulation und -transformation zu erweitern. Sie fungiert als Toolkit für Objekt-Utilities, Datumsmanipulation, String-Inflektion und das Polyfilling fehlender oder fehlerhafter Standard-Sprachfunktionen. Die Bibliothek bietet die Möglichkeit, Utility-Methoden direkt auf eingebaute Prototypen zu mappen oder Werte in temporäre Objekte zu wrappen, um Method-Chaining zu ermöglichen, ohne globale Prototypen zu modifizieren. Sie enthält zudem ein Polyfill-System, um konsistentes Verhalten über verschiedene Ausführungsumgebungen hinweg sicherzustellen, indem fehlende moderne Sprachfunktionen implementiert werden. Die Funktionen umfassen internationale Datumsformatierung und das Parsen von humanisierten Datums-Strings. Die Bibliothek handhabt zudem natürliche Sprachverarbeitung durch String-Inflektion und Normalisierung, tiefe Eigenschaftstraversierung verschachtelter Objekte und locale-bewusste Array-Sortierung. Zusätzlich bietet sie Tools zum Klonen veränderbarer Objekte und zur Definition von Wertebereichen für Zahlen, Daten und Strings.
Provides functionality to retrieve values from deeply nested objects using dot-notation paths.
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
Recursively validates nested types that implement a validatable interface to verify embedded fields.
FluentAssertions is a library of extension methods for .NET that provides a human-readable syntax for verifying expectations in unit tests. It serves as a validation layer that integrates with MSTest, NUnit, and xUnit to throw framework-specific exceptions upon assertion failure. The project includes a structural equivalency engine that performs deep member-by-member validation of .NET objects using configurable matching rules. It is designed for test-driven and behavior-driven development by generating descriptive failure messages that explain the difference between actual and expected resul
Implements recursive validation of nested objects and collections through structural equivalency rules.
TUnit is a comprehensive C# testing framework, mocking library, and fluent assertion tool. It utilizes source generation for test discovery and mock creation, ensuring compatibility with Native AOT and IL trimming by eliminating the need for runtime reflection and proxies. The framework provides specialized capabilities for integration testing, including the management of distributed application lifecycles, isolated database schemas, and the correlation of telemetry and logs across process boundaries via OTLP. It also includes an HTTP testing utility to intercept network exchanges and mock AP
Allows chaining multiple assertions on specific object properties while maintaining the parent context.