mirror of
https://github.com/chai2010/advanced-go-programming-book.git
synced 2025-05-24 20:52:22 +00:00
15 lines
610 B
Protocol Buffer
Executable File
15 lines
610 B
Protocol Buffer
Executable File
syntax = "proto3";
|
|
package validator.examples;
|
|
import "github.com/mwitkow/go-proto-validators/validator.proto";
|
|
|
|
message InnerMessage {
|
|
// some_integer can only be in range (1, 100).
|
|
int32 some_integer = 1 [(validator.field) = {int_gt: 0, int_lt: 100}];
|
|
}
|
|
|
|
message OuterMessage {
|
|
// important_string must be a lowercase alpha-numeric of 5 to 30 characters (RE2 syntax).
|
|
string important_string = 1 [(validator.field) = {regex: "^[a-z]{2,5}$"}];
|
|
// proto3 doesn't have `required`, the `msg_exist` enforces presence of InnerMessage.
|
|
InnerMessage inner = 2 [(validator.field) = {msg_exists : true}];
|
|
} |