awesome-repositories.com
Blog
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
·
bufbuild avatar

bufbuild/protoc-gen-validateArchived

0
View on GitHub↗

Protoc Gen Validate

Este proyecto es un plugin de validación de buffers de protocolo y generador de código que crea lógica de validación consistente en múltiples lenguajes de programación. Funciona como una extensión de compilador para el toolchain de Protocol Buffer, permitiendo a los desarrolladores definir restricciones semánticas directamente dentro de archivos de esquema para asegurar la consistencia de los datos.

La herramienta utiliza opciones personalizadas para incrustar reglas de validación en definiciones de mensajes, mapeando estas restricciones de esquema a patrones de implementación específicos del lenguaje. Emplea comprobación de restricciones basada en predicados y recorrido recursivo para aplicar reglas a través de jerarquías de mensajes anidadas.

La superficie de validación cubre rangos y valores numéricos, patrones y formatos de cadena, restricciones de secuencias de bytes y cumplimiento de enums. También gestiona tamaños de colecciones y campos repetidos, validación de tipos complejos para marcas de tiempo y duraciones, y requisitos para la selección de campos de unión.

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
github.com/bufbuild/protovalidate
↗

Features

  • Validation Logic Generators - Defines semantic constraints in Protobuf schemas to automatically generate code that ensures incoming messages are valid and consistent.
  • Validation Plugins - Provides a protoc plugin that generates code to enforce semantic constraints and data validation rules for messages.
  • Strict Schema Enforcers - Sets strict rules for strings, numbers, and collections to prevent malformed data from entering a system via APIs.
  • Message Validators - Generates consistent validation logic across multiple programming languages based on shared schema definitions.
  • Distributed Data Integrity - Ensures messages exchanged between microservices adhere to required formats and value ranges through generated validators.
  • Cross-Language Message Classes - Generates language-specific message classes with integrated validation to ensure consistency across different programming environments.
  • Protobuf Code Generators - Functions as a protoc plugin to generate language-specific validation source code from Protocol Buffer schemas.
  • Polyglot API Validation - Enforces the same data validation rules across multiple programming languages using a single shared Protocol Buffer definition.
  • Enum Membership Validators - Ensures enum fields match specific constants, exist within the enum descriptor, or belong to a specified list.
  • Recursive Hierarchy Validation - Performs recursive validation on message fields to ensure required content is present or skipped throughout the hierarchy.
  • Polyglot Validator Mappings - Maps shared schema constraints to different implementation patterns across multiple target programming languages.
  • Byte Sequence Validations - Validates byte sequences using length limits, patterns, prefix and suffix matching, or network address formats.
  • Collection Constraints - Constrains the number of elements in repeated fields and enforces rules on individual items or keys.
  • Data Type Validation - Enforces constraints on specialized data types such as timestamps, durations, and scalar value wrappers.
  • Recursive Object Validation - Implements depth-first traversal of nested message fields to enforce constraints across the entire data hierarchy.
  • Data Validation Schemas - Implements a system for defining numeric, string, and collection constraints within schemas to ensure data consistency.
  • Constraint Injection - Injects validation rules into generated data accessors by parsing semantic metadata from input descriptor files.
  • Custom Option Definitions - Uses Protocol Buffer custom options to embed semantic validation constraints directly within message definitions.
  • Range Constraints - Restricts numeric fields using exact constants, range inequalities, or lists of permitted and denied values.
  • Predicate-Based Validations - Evaluates field values against a set of predefined logical predicates including range checks and regular expressions.
  • Union Field Requirements - Ensures that at least one field within a union is set to a value.
  • String Format Validators - Validates strings using length limits, regular expressions, and standard formats like emails and IP addresses.
4,122 estrellas·604 forks·Go·Apache-2.0·2 vistas

Historial de estrellas

Gráfico del historial de estrellas de bufbuild/protoc-gen-validateGráfico del historial de estrellas de bufbuild/protoc-gen-validate

Colecciones destacadas con Protoc Gen Validate

Colecciones seleccionadas manualmente donde aparece Protoc Gen Validate.
  • Herramientas de validación de esquemas de datos

Alternativas open-source a Protoc Gen Validate

Proyectos open-source similares, clasificados según cuántas características comparten con Protoc Gen Validate.
  • 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
  • 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
  • julian/jsonschemaAvatar de Julian

    Julian/jsonschema

    4,951Ver en GitHub↗

    This project is a Python implementation of the JSON Schema specification, providing a library for verifying that data instances conform to defined schemas. It serves as a data validation framework capable of validating both the data itself and the schemas against official meta-schemas to ensure structural correctness. The library features a schema reference resolver that maps URIs to definitions, enabling the resolution of internal and remote references for modular schema management. It is designed for extensibility, allowing for the definition of custom keywords, custom type-checking logic,

    Python
    Ver en GitHub↗4,951
  • imbrn/v8nAvatar de imbrn

    imbrn/v8n

    4,145Ver en GitHub↗

    v8n is a JavaScript data validation library used to verify that values, objects, and arrays meet specific criteria. It functions as a schema-based validator and an asynchronous validation engine, utilizing a fluent API to construct sequences of chainable rules and constraints. The framework is distinguished by its ability to execute promises and network requests during the validation process to determine if a value is valid. It allows for the creation of reusable validation schemas and provides a customizable rule framework where users can define their own logic and configure how error result

    JavaScript
    Ver en GitHub↗4,145
Ver las 30 alternativas a Protoc Gen Validate→

Preguntas frecuentes

¿Qué hace bufbuild/protoc-gen-validate?

Este proyecto es un plugin de validación de buffers de protocolo y generador de código que crea lógica de validación consistente en múltiples lenguajes de programación. Funciona como una extensión de compilador para el toolchain de Protocol Buffer, permitiendo a los desarrolladores definir restricciones semánticas directamente dentro de archivos de esquema para asegurar la consistencia de los datos.

¿Cuáles son las características principales de bufbuild/protoc-gen-validate?

Las características principales de bufbuild/protoc-gen-validate son: Validation Logic Generators, Validation Plugins, Strict Schema Enforcers, Message Validators, Distributed Data Integrity, Cross-Language Message Classes, Protobuf Code Generators, Polyglot API Validation.

¿Qué alternativas de código abierto existen para bufbuild/protoc-gen-validate?

Las alternativas de código abierto para bufbuild/protoc-gen-validate incluyen: open-circle/valibot — Valibot is a modular, type-safe schema library for validating and parsing structural data in TypeScript environments. typestack/class-validator — class-validator is a TypeScript class validation library that uses decorators to define constraints and rules for… julian/jsonschema — This project is a Python implementation of the JSON Schema specification, providing a library for verifying that data… imbrn/v8n — v8n is a JavaScript data validation library used to verify that values, objects, and arrays meet specific criteria. It… jquense/yup — Yup is a JavaScript schema validation library used to define data shapes and validate runtime values. It functions as… hapijs/joi — Joi is a JavaScript data validation library used to define schemas that validate, cast, and sanitize data objects. It…