Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Protocol Buffer Validation for Java.

License

NotificationsYou must be signed in to change notification settings

bufbuild/protovalidate-java

Repository files navigation

The Buf logo

protovalidate-java

CIConformanceBSR

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)"  };}

Once you've addedprotovalidate-java to your project, validation is idiomatic Java:

ValidationResultresult =validator.validate(message);if (!result.isSuccess()) {// Handle failure.}

Installation

Tip

The easiest way to get started with Protovalidate for RPC APIs are the quickstarts in Buf's documentation. There's one available forJava and gRPC.

protovalidate-java is listed inMaven Central, which provides installation snippets for Gradle, Maven, and other package managers. In Gradle, it's:

dependencies {    implementation'build.buf:protovalidate:<version>'}

Documentation

Comprehensive documentation for Protovalidate is available inBuf's documentation library.

Highlights for Java developers include:

Additional languages and repositories

Protovalidate isn't just for Java! You might be interested in sibling repositories for other languages:

Additionally,protovalidate's core repository provides:

Contributing

We genuinely appreciate any help! If you'd like to contribute, check out these resources:

Legal

Offered under theApache 2 license.


[8]ページ先頭

©2009-2025 Movatter.jp