awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
dry-rb avatar

dry-rb/dry-validation

0
View on GitHub↗
1,422 stars·193 forks·Ruby·MIT·30 viewsdry-rb.org/gems/dry-validation↗

Dry Validation

Dry-validation is a Ruby library designed for defining type-safe schemas and complex validation rules to verify and sanitize input data structures. It provides a formal framework for constructing modular validation logic, ensuring that incoming information meets specific business requirements and data formats before it is processed by an application.

The library utilizes a domain-specific language to declare validation rules, which are then parsed into executable objects. It distinguishes itself through a macro-driven system that bundles common validation logic into reusable shortcuts, alongside a recursive composition model that allows developers to nest validation objects to build complex, hierarchical structures. This approach enables the creation of consistent, modular logic that prevents code duplication across large applications.

Beyond core schema definition, the library includes a type-coercion pipeline that transforms raw input into expected formats and a structured error aggregation system that maps failures to specific input paths. It supports configuration hooks for external dependency integration and provides tools for sanitizing data, making it suitable for enforcing standards on incoming API requests and complex data objects.

Features

  • Data Validation Libraries - Provides a library for defining type-safe schemas and complex validation rules to verify and sanitize input data structures in Ruby.
  • Schema Definitions - Provides tools to define formal rules and schemas to verify that incoming information matches expected formats.
  • Data Schema Validation - Defines formal rules and schemas to verify that incoming information matches expected formats and business requirements.
  • Schema Definition Frameworks - Builds modular and composable validation logic that ensures incoming information meets specific business requirements.
  • Coercion Pipelines - Transforms raw input data into expected types during the validation process to ensure consistent downstream information.
  • Schema Validation Libraries - Allows developers to combine and nest multiple validation rules to create modular logic.
  • Reusable Rule Logic - Bundles common validation logic into reusable shortcuts to simplify the definition of repetitive business rules.
  • Complex Structure Validation - Supports defining detailed rules for nested or complicated data objects to ensure structural correctness.
  • Data Sanitization Utilities - Converts raw input into consistent types and formats while reporting clear error messages for invalid entries.
  • Data Validation and Sanitization - Cleans and converts raw input into consistent types and formats during the validation process.
  • Boolean Predicates - Executes atomic logic checks against input data by mapping field keys to a library of reusable boolean verification methods.
  • DSL-Driven Validations - Provides a domain-specific language to declare validation rules and data structures that are parsed into executable objects.
  • Validation Error Reporters - Reports validation errors with clear messages and custom details to help users understand input failures.
  • Validation Error Aggregators - Collects validation failures into a structured object that maps specific input paths to descriptive error messages.
  • Request Validation - Ensures that incoming data from external clients meets specific standards before it is accepted by backend services.
  • Schema Composition Libraries - Supports nesting validation objects within one another to build complex hierarchical structures from modular components.
  • Validation Logic Decoupling - Composes and nests reusable validation rules to keep code clean and prevent duplication.
  • Reusable Validators - Provides shared validation shortcuts that bundle common rules together for consistent application across the codebase.

Star history

Star history chart for dry-rb/dry-validationStar history chart for dry-rb/dry-validation

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Dry Validation

Similar open-source projects, ranked by how many features they share with Dry Validation.
  • hapijs/joihapijs avatar

    hapijs/joi

    21,192View on GitHub↗

    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

    JavaScripthapijavascriptschema
    View on GitHub↗21,192
  • sideway/joisideway avatar

    sideway/joi

    21,192View on GitHub↗

    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

    JavaScript
    View on GitHub↗21,192
  • elysiajs/elysiaelysiajs avatar

    elysiajs/elysia

    18,531View on GitHub↗

    Elysia is a high-performance TypeScript web framework designed for building type-safe backend services. It provides a modular, plugin-based architecture that allows developers to compose server logic, middleware, and validation schemas into scalable application instances. By leveraging native web standards, the framework ensures portability across diverse JavaScript runtimes, including Node.js, Deno, and various edge computing environments. The framework distinguishes itself through its focus on end-to-end type safety, automatically synchronizing request and response definitions between the s

    TypeScriptbunframeworkhttp
    View on GitHub↗18,531
  • jquense/yupjquense avatar

    jquense/yup

    23,673View on GitHub↗

    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

    TypeScript
    View on GitHub↗23,673
See all 30 alternatives to Dry Validation→

Frequently asked questions

What does dry-rb/dry-validation do?

Dry-validation is a Ruby library designed for defining type-safe schemas and complex validation rules to verify and sanitize input data structures. It provides a formal framework for constructing modular validation logic, ensuring that incoming information meets specific business requirements and data formats before it is processed by an application.

What are the main features of dry-rb/dry-validation?

The main features of dry-rb/dry-validation are: Data Validation Libraries, Schema Definitions, Data Schema Validation, Schema Definition Frameworks, Coercion Pipelines, Schema Validation Libraries, Reusable Rule Logic, Complex Structure Validation.

What are some open-source alternatives to dry-rb/dry-validation?

Open-source alternatives to dry-rb/dry-validation include: hapijs/joi — Joi is a JavaScript data validation library used to define schemas that validate, cast, and sanitize data objects. It… sideway/joi — Joi is a JavaScript data validation library used to define schemas that ensure the structure and data types of objects… elysiajs/elysia — Elysia is a high-performance TypeScript web framework designed for building type-safe backend services. It provides a… jquense/yup — Yup is a JavaScript schema validation library used to define data shapes and validate runtime values. It functions as… ianstormtaylor/superstruct — Superstruct is a JavaScript and TypeScript data validation library used to verify that data structures match defined… ajv-validator/ajv — Ajv is a high-performance data validation framework that compiles JSON schemas into optimized, standalone JavaScript…

Curated searches featuring Dry Validation

Hand-picked collections where Dry Validation appears.
  • Data Schema Validation Tools
  • a library for model attribute validation
  • a library for managing application configuration files