Announcement

Free to view yesterday and today
Customer Service: cat_manager

Legacy Protobuf Validation Tool (protoc-gen-validate)

This repository contains `protoc-gen-validate`, a Protocol Buffer compiler plugin that generates rigorous message validation code. **Note: This project is now superseded by `bufbuild/protovalidate`. New projects should use `protovalidate` instead.**

Go
Added on 2025年6月6日
View on GitHub
Legacy Protobuf Validation Tool (protoc-gen-validate) preview
3,952
Stars
595
Forks
Go
Language

Project Introduction

Summary

`protoc-gen-validate` was a compiler plugin for `protoc` that enabled developers to add validation rules to their Protocol Buffer message definitions. It generated validation code in supported languages to ensure data integrity.

Problem Solved

Protocol Buffers provide a schema for data serialization but lack built-in mechanisms for data validation. `protoc-gen-validate` addressed this by allowing developers to embed validation rules within the `.proto` schema and automatically generate validation logic.

Core Features

Declarative Validation Rules

Define clear and declarative validation rules directly within your `.proto` schema files using a rich rule set.

Multi-Language Code Generation

Automatically generate validation code for your Protobuf messages in various languages based on the rules defined in your schema.

Generated Validation Methods

Provides generated methods to easily check if a Protobuf message conforms to its defined validation constraints.

Tech Stack

Go
Protocol Buffers
Protoc Compiler
various target languages (e.g., Go, Java, C++, Python)

Use Cases

`protoc-gen-validate` was used in scenarios requiring robust data validation for Protocol Buffer messages. **New implementations should use `bufbuild/protovalidate`.**

API Input Validation

Details

Ensuring that incoming requests or messages received by a service conform to expected formats and constraints defined in the `.proto` schema.

User Value

Prevents processing invalid data, improves service reliability and security.

Data Persistence/Messaging Validation

Details

Validating data structure and content when serializing or deserializing data using Protocol Buffers, such as storing data in a database or queue.

User Value

Maintains data integrity across different parts of a system.

Recommended Projects

You might be interested in these projects

real-stanforddiffusion_policy

Explore Diffusion Policy, a visuomotor policy learning method leveraging action diffusion models. Learn how this project addresses challenges in learning complex robotic manipulation skills directly from visual inputs.

Python
2623473
View Details

louis-earnis

This project, Arnis, is a powerful tool for generating highly detailed, realistic Minecraft Java Edition worlds based on real-world geographic data, allowing users to explore accurate representations of Earth's terrain within the game.

Rust
7412481
View Details

zephyrproject-rtoszephyr

This project aims to simplify the process of automating specific tasks through advanced automation techniques, significantly boosting efficiency and accuracy. It is ideal for developers and analysts who handle large volumes of data.

C
124117588
View Details