- Notifications
You must be signed in to change notification settings - Fork54
Protocol Buffer Validation - Go, Java, Python, C++ and JS/TS
License
bufbuild/protovalidate
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Protovalidate is the semantic validation library for Protobuf. It provides standard annotations to validate common rules on messages and fields, as well as the ability to useCEL to write custom rules. It's the next generation ofprotoc-gen-validate.
With Protovalidate, you can annotate your Protobuf messages with both standard and custom validation rules:
syntax="proto3";packageacme.user.v1;import"buf/validate/validate.proto";messageUser {stringid=1 [(buf.validate.field).string.uuid =true];uint32age=2 [(buf.validate.field).uint32.lte =150];// We can only hope.stringemail=3 [(buf.validate.field).string.email =true];stringfirst_name=4 [(buf.validate.field).string.max_len =64];stringlast_name=5 [(buf.validate.field).string.max_len =64];option(buf.validate.message).cel= {id:"first_name_requires_last_name"message:"last_name must be present if first_name is present"expression:"!has(this.first_name) || has(this.last_name)" };}
To start using Protovalidate in your projects, see thedeveloper quickstart,Protovalidate overview, or go directly to the repository for your language of choice:
protovalidate-go(Go)protovalidate-java(Java)protovalidate-python(Python)protovalidate-cc(C++)protovalidate-es(TypeScript and JavaScript)
Comprehensive documentation for Protovalidate is available atprotovalidate.com.
Highlights include:
- Thedeveloper quickstart
- Comprehensive RPC quickstarts forConnect and Go,gRPC and Go,gRPC and Java, andgRPC and Python
- Amigration guide for protoc-gen-validate users
We genuinely appreciate any help! If you'd like to contribute, check out these resources:
- Contributing Guidelines: Guidelines to make your contribution process straightforward and meaningful
- Conformance testing utilities: Utilities providing acceptance testing of
protovalidateimplementations
Offered under theApache 2 license.
About
Protocol Buffer Validation - Go, Java, Python, C++ and JS/TS
Topics
Resources
License
Code of conduct
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.