8 个仓库
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 是一个 JavaScript 实用程序库,旨在通过额外的方法扩展原生对象和原型,以进行数据操作和转换。它作为一个工具包,用于对象实用程序、日期操作、字符串变形以及缺失或损坏的标准语言功能的 Polyfill。 该库提供了将实用方法直接映射到内置原型或将值包装在临时对象中以实现方法链的能力,而无需修改全局原型。它还包括一个 Polyfill 系统,通过实现缺失的现代语言功能来确保跨不同执行环境的一致行为。 功能包括国际日期格式化和人类可读日期字符串的解析。该库还通过字符串变形和规范化、嵌套对象的深度属性遍历以及区域感知数组排序来处理自然语言处理。此外,它还提供了用于克隆可变对象以及定义数字、日期和字符串值范围的工具。
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.