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

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
go-ozzo avatar

go-ozzo/ozzo-validation

0
View on GitHub↗
4,072 estrellas·238 forks·Go·mit·3 vistas

Ozzo Validation

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 localized or dynamic error messages.

The library covers a broad range of validation capabilities, including value constraints for numeric ranges, regular expressions, and Unicode length verification. It handles complex data verification for collections and nested interfaces, while providing logical flow control to conditionally skip or execute specific rules. Error management utilities aggregate failures into keyed maps for structured serialization.

Features

  • Go Data Validation - Provides a programmable framework to verify that Go structs and maps meet specific business requirements.
  • Field Validation - Checks specified fields of a struct pointer against rules and returns a collection of failures.
  • Structural Data Validators - Evaluates the fields of Go structs and maps against a defined set of rules for structural correctness.
  • Context Propagation - Propagates a request-scoped context object through the validation chain to rules requiring external state.
  • Go Validation Libraries - Implements a declarative, rule-based approach for validating Go structs, maps, and primitive types.
  • Context-Aware Validation Engines - Supports propagation of request-scoped context to validation rules, allowing checks to depend on external state.
  • Context-Aware Validation - Implements a validation engine that propagates request-scoped context to rules for state-dependent verification.
  • Dynamic Validation Rules - Performs runtime validation checks that depend on external request-scoped context values.
  • Custom Validation Rules - Enables the creation of new validation logic by implementing a rule interface or wrapping functions.
  • Nested Object Validation - Recursively validates nested types that implement a validatable interface to verify embedded fields.
  • Recursive Object Validation - Uses Go interfaces to recursively traverse and validate nested data structures and custom types.
  • Interface-Driven Validation - Utilizes a common interface to allow custom functions to be wrapped as reusable validation rules.
  • Programmable Validation Frameworks - Provides a programmable API for defining validation rules and custom error messages without relying on struct tags.
  • Recursive Validation Engines - Features a recursive engine that validates nested structures by calling validation methods on embedded types.
  • Recursive Structure Validations - Provides recursive validation for nested structs, maps, and slices to maintain integrity across complex object trees.
  • Input Validation - Supplies a set of rules for checking required fields, formats, and allowed values in user-provided data.
  • Conditional Validation Rules - Executes specific validation rules only when a boolean condition is met.
  • Validation Skipping - Allows bypassing specific validation rules based on a boolean condition or a trigger.
  • Range Length Validations - Implements validation for strings, slices, and maps to ensure their length falls within specified ranges.
  • Unicode Length Validations - Verifies the number of Unicode code points in a string to ensure length requirements.
  • Field Value Placeholders - Provides the ability to inject actual field values into error messages via dynamic placeholders.
  • Rule Wrappers - Transforms simple boolean functions into complex validation objects that support custom error messages and metadata.
  • Element-Level Validation - Executes a set of validation rules against every individual element within a slice, array, or map.
  • Localized Error Messages - Provides the ability to override default failure text with localized error messages for different languages.
  • Validation Error Aggregators - Aggregates multiple validation failures into a keyed map associating fields with their specific error messages.
  • Forbidden Value Validations - Checks if a value exists within a specified set of forbidden values and returns an error.
  • Interface-Based Custom Logic - Defines a custom rule by implementing a specific interface to handle specialized business logic.
  • Range Constraints - Checks if numeric values and timestamps fall within specified minimum or maximum thresholds.
  • Regular Expression Validations - Verifies if a value matches a specified regular expression pattern and returns an error on failure.
  • Request Validation - Offers structured error aggregation into keyed maps suitable for consistent JSON API response failures.
  • Allowed Value Validations - Checks if a value is present within a specified set of allowed options.
  • Single Value Validators - Checks a single primitive value against a sequence of rules and returns the first error.
  • Date Validation - Verifies that strings match specific date formats and fall within required temporal ranges.
  • Empty Value Validations - Evaluates whether a value is empty based on its type, including zero-values and nil pointers.
  • Mandatory Value Enforcement - Ensures required data is present by checking that a value is not empty.
  • Null Value Validation - Verifies that interfaces, pointers, slices, and maps are not nil.
  • Required Field Enforcement - Ensures a value is not blank, nil, or zero to satisfy mandatory field requirements.
  • String Validation and Normalization - Enforces constraints on string inputs using custom rules and configurable error messages.
  • Validation Error Customizations - Allows the user to override default failure text for built-in rules on a per-instance or global basis.
  • Validation Error Formatters - Structures validation failures into keyed maps for serialization to JSON or human-readable strings.
  • Validation Error Handlers - Defines custom failure text using dynamic placeholders to inject rule thresholds into error messages.
  • Validation Libraries - Extensible validation for various data types.

Historial de estrellas

Gráfico del historial de estrellas de go-ozzo/ozzo-validationGráfico del historial de estrellas de go-ozzo/ozzo-validation

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Preguntas frecuentes

¿Qué hace go-ozzo/ozzo-validation?

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.

¿Cuáles son las características principales de go-ozzo/ozzo-validation?

Las características principales de go-ozzo/ozzo-validation son: Go Data Validation, Field Validation, Structural Data Validators, Context Propagation, Go Validation Libraries, Context-Aware Validation Engines, Context-Aware Validation, Dynamic Validation Rules.

¿Qué alternativas de código abierto existen para go-ozzo/ozzo-validation?

Las alternativas de código abierto para go-ozzo/ozzo-validation incluyen: open-circle/valibot — Valibot is a modular, type-safe schema library for validating and parsing structural data in TypeScript environments. asaskevich/govalidator — [Go] Package of validators and sanitizers for strings, numerics, slices and structs. typestack/class-validator — class-validator is a TypeScript class validation library that uses decorators to define constraints and rules for… jquense/yup — Yup is a JavaScript schema validation library used to define data shapes and validate runtime values. It functions as… arktypeio/arktype — Arktype is a TypeScript runtime validation library and schema orchestrator. It synchronizes TypeScript types with… samchon/typia — Typia is a compile-time code generator that transforms TypeScript type annotations into runtime validation,…

Alternativas open-source a Ozzo Validation

Proyectos open-source similares, clasificados según cuántas características comparten con Ozzo Validation.
  • open-circle/valibotAvatar de open-circle

    open-circle/valibot

    8,769Ver en GitHub↗

    Valibot is a modular, type-safe schema library for validating and parsing structural data in TypeScript environments.

    TypeScriptbundle-sizemodularparsing
    Ver en GitHub↗8,769
  • asaskevich/govalidatorAvatar de asaskevich

    asaskevich/govalidator

    6,203Ver en GitHub↗

    Go Package of validators and sanitizers for strings, numerics, slices and structs

    Gogogovalidatorsanitization
    Ver en GitHub↗6,203
  • typestack/class-validatorAvatar de typestack

    typestack/class-validator

    11,796Ver en GitHub↗

    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

    TypeScriptdecoratorstypescriptvalidation
    Ver en GitHub↗11,796
  • jquense/yupAvatar de jquense

    jquense/yup

    23,673Ver en 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
    Ver en GitHub↗23,673
Ver las 30 alternativas a Ozzo Validation→