30 open-source projects similar to jeremyskinner/fluentvalidation, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best FluentValidation alternative.
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
Valibot is a modular, type-safe schema library for validating and parsing structural data in TypeScript environments.
Pkl is a configuration-as-code language used to define, validate, and generate structured configuration files. It functions as a type-safe configuration generator that enforces data integrity through a strongly-typed schema, ensuring configuration values meet defined constraints and types during evaluation. The project distinguishes itself by acting as both a configuration file generator and a binding generator. It transforms high-level programmable definitions into static formats such as JSON, YAML, or XML, and produces language-specific source code to synchronize settings and provide type s
Joi is a JavaScript data validation library used to define schemas that ensure the structure and data types of objects remain consistent. It functions as a schema-based validator and object schema definition tool, preventing invalid information from entering an application by checking data against predefined constraints and rules. The library employs a chainable fluent interface and a constraint-based validation engine to build complex validation pipelines. It utilizes recursive tree traversal to validate nested data structures and a type-coercion pipeline to transform input values into the t
is.js is a JavaScript validation library and data type checker. It provides a suite of utilities to verify whether variables are primitives, arrays, functions, or specific object types. The project allows for the implementation of custom validation logic and the use of naming namespaces to override default rules and regular expressions. It covers a broad range of validation capabilities, including numeric arithmetic properties, date and time analysis for relative and absolute ranges, and string format verification for patterns such as emails, URLs, and IP addresses. The library also includes
This project is a Python-based business rules engine designed to decouple application logic from source code. It provides a framework for defining and executing dynamic conditional logic, allowing system behavior to be determined by data criteria rather than hard-coded instructions. The system distinguishes itself by offering a declarative policy framework that utilizes a domain-specific language to manage complex rules. By mapping internal object attributes to dynamic variables and registering executable actions, the engine enables the creation of automated decision-making workflows that can
Lodash is a JavaScript utility library and data manipulation toolkit. It provides a collection of modular functions for transforming, filtering, and validating arrays, objects, strings, and numbers. The project functions as a functional programming toolkit, offering capabilities for function composition, currying, and lazy evaluation. It includes mechanisms for execution control, such as debouncing and throttling, to manage the timing and frequency of function invocations. The library covers a broad surface of data operations, including deep cloning and merging of complex nested structures,
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
Then is a syntactic sugar library for Swift that provides closure-based extensions for configuring objects and value types. It enables the assignment of multiple properties within a single block to reduce repetitive variable naming during initialization and modification. The library functions as both an object configuration tool and a value type modifier. It allows for the creation of modified copies of structs and enums by applying specific changes inside a scoped closure. These utilities support declarative workflows for defining user interface component properties and managing complex vie
This library is a PHP framework designed for validating and sanitizing incoming data. It provides a structured approach to ensuring that information conforms to expected formats and integrity requirements before it is processed or stored by an application. The project utilizes a fluent interface to construct validation logic, allowing for the definition of complex rules through chainable methods. It employs a strategy-based execution model where individual validation components are encapsulated and can be dynamically assigned to data fields. When validation fails, the system uses an exception
Scrutor is a library that extends the standard Microsoft dependency injection container. It provides tools for automated type discovery, complex registration orchestration, and service decoration capabilities within the .NET ecosystem. The project enables the automatic discovery and registration of types from assemblies based on interfaces or attributes. It also provides a framework for wrapping existing services with decorator classes to add functionality without modifying the original source code. The library covers broad capability areas including assembly scanning workflows, dependency i
validator.js is a JavaScript string validation and sanitization library. It provides a set of functions to verify that strings match specific patterns—such as emails, URLs, and alphanumeric formats—and a toolkit for cleaning and transforming text input to remove prohibited characters and trim whitespace. The library includes utilities for standardizing email addresses by lowercasing domains and removing sub-addressing markers. It also functions as an HTML entity escaper, replacing special characters with entities to prevent the browser from executing text as code. The project covers capabili
AutoMapper is a .NET object-to-object mapper designed to transfer data between different object types. It functions as an automated mapping library that reduces the need for manual property assignments by using naming conventions to match properties between classes. The library focuses on automating data projection and the conversion of internal domain models into data transfer objects. It supports layered architecture decoupling by mapping data between domain entities and view models. The system employs convention-based member matching, flattening-based property projection, and recursive ty
Polly is a resilience and transient-fault-handling library for .NET applications. It provides a framework for defining and executing stability patterns that manage failures and resource exhaustion during operation execution. The library enables developers to compose complex resilience strategies through a fluent builder pattern, wrapping target operations in functional decorators. These policies intercept execution flow to apply automated recovery mechanisms, such as retries for temporary errors or circuit breakers that isolate unstable components by blocking requests. The framework supports
Space Station 14 is a C# multiplayer game and roleplay simulation framework. It is built upon an Entity-Component-System (ECS) game engine that separates logic into systems and data into components to manage complex entity interactions. The project functions as a grid-based physics simulator with a YAML data-driven prototype system for defining game objects. The project features a specialized 2D sprite rendering engine that maps server-side appearance data to client-side shaders. It implements a networking model with client-side prediction and dirty-flagged state synchronization to reduce inp
MediatR is a .NET library for implementing the mediator pattern, serving as an in-process message broker that decouples senders and receivers by routing messages through a central dispatcher. It enables the transmission of requests and notifications between different components within a single application process. The framework provides a pipeline behavior system that allows for the interception and processing of messages through a sequence of custom behaviors. This architecture is used to implement cross-cutting concerns, such as logging or validation, across multiple handlers. The library
This PHP assertion library is a runtime data validator used to verify method inputs and outputs. It provides a toolkit for validating data types, numeric ranges, and string patterns during program execution to prevent invalid states. The project serves as a static analysis helper by providing type hints and annotations that improve the accuracy of formal verification tools. It includes a collection validation utility for applying rules across arrays or iterable collections, and a filesystem validation tool to verify path existence and read or write permissions. The library covers a broad ran
XLForm is a declarative UI library and framework for generating synchronized iOS table-view forms from structured definitions. It provides a toolkit for building mobile data-entry screens using Swift and Objective-C, allowing developers to create interfaces based on declarative sections and rows. The framework features dynamic interface synchronization and conditional logic to manage row visibility and editing restrictions. It supports the creation of dynamic multivalued sections where users can insert, delete, or reorder rows at runtime. The library includes a variety of interactive input c
CLI11 is a header-only C++ library for parsing command line arguments and managing configuration files. It maps shell input to typed variables and supports the creation of complex command hierarchies. The library is distinguished by its support for nested subcommands with infinite depth and prefix matching. It integrates configuration management by allowing application settings to be loaded from TOML or INI files, with the ability to fall back to environment variables. The project provides a comprehensive set of tools for argument parsing, including flags and positional arguments, alongside
Superagent is an isomorphic JavaScript HTTP client for sending network requests and processing responses across both Node.js and web browser environments. It provides a fluent request builder that uses a chainable interface to construct complex network requests with custom headers, query strings, and bodies. The library functions as a runtime-agnostic request adapter, allowing a single codebase to work consistently across different environments. It includes specialized capabilities such as an HTTP/2 client for forcing the HTTP/2 protocol and a Node.js agent for managing Unix socket connection
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
Hug is a type-driven Python web framework designed for building APIs. It uses Python type annotations to automatically validate and convert incoming request data and to format outgoing responses. The framework functions as an automated documentation tool by extracting function signatures and markers from source code to generate accessible API specifications. It also supports non-blocking coroutines for asynchronous API processing to handle background tasks without interrupting the main request cycle. The project provides capabilities for REST API development, including route mapping, endpoin
Underscore is a JavaScript utility library providing a suite of functional programming and data manipulation helpers. It serves as a framework for transforming data collections, composing functions, managing objects, and performing precise data type validation without modifying core language prototypes. The project includes a functional programming toolkit designed to control function execution timing and behavior through techniques such as debouncing, throttling, and partial application. It also provides a dedicated object manipulation utility for cloning, merging, picking, and omitting prop
This project is a modular image manipulation framework and processing pipeline library designed for Ruby applications. It provides a programmable interface for executing complex image transformations, including resizing, cropping, rotating, and compositing, while managing file input and output parameters. The library distinguishes itself through a fluent, chainable interface that allows developers to construct sophisticated processing workflows by linking modular operations together. It functions as an image transformation engine that delegates heavy lifting to external native binary tools, e
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
Commanded is an Elixir framework designed for building event-sourced applications that utilize domain-driven design. It provides a structured environment for implementing command-query responsibility segregation, allowing developers to separate write-side command processing from read-side data projection. By treating state changes as an immutable sequence of events, the framework ensures a reliable audit trail and facilitates system recovery. The project distinguishes itself through its support for distributed process orchestration and event-driven middleware pipelines. It enables the managem
System Designer is a visual modeling environment for constructing software architectures, data schemas, and component behaviors. It functions as a low-code platform that allows users to define complex systems through a drag-and-drop interface, representing components and their relationships as interconnected nodes and edges. The platform distinguishes itself by providing a live runtime environment where defined models can be executed and inspected in real-time. It performs dynamic type validation on system operations to ensure consistency and allows for the modular composition of applications
APIStar is an OpenAPI framework providing a toolkit for building and verifying web APIs. It functions as an API schema validator, a traffic auditor, and a documentation generator to ensure compliance with API specifications and data types. The project converts OpenAPI and Swagger schemas into visual developer guides using customizable themes. It also implements a dynamic API client that adapts to defined schemas to send requests to remote servers. The framework includes capabilities for validating API schemas to identify structural mistakes and auditing incoming and outgoing web traffic agai
This project is a Git commit standardization tool and semantic commit generator. It serves as an assistant to align code changes with semantic versioning by enforcing a consistent commit structure and formatting rules. The utility uses interactive prompts to gather user input, which it then validates against semantic categories and interpolates into predefined templates. This process automates the generation of standardized messages, ensuring that each commit follows a specific format to improve project history and traceability. The system also handles commit metadata structuring, including
prop-types is a JavaScript object validator and runtime type checker. It serves as a development tool for verifying that object properties match predefined specifications, primarily used to ensure that data passed into React components aligns with expected types. The utility detects data inconsistencies by logging warnings to the console when mismatches occur, rather than throwing exceptions. It employs a stateful warning cache to prevent duplicate logs and restricts validation logic to non-production environments to avoid performance overhead in released builds. The project covers data vali