github.com/yoheimuta/protolint@v0.49.8-0.20240515023657-4ecaebb7575d/_example/proto/issue_88/oneof_options.proto (about) 1 // Copyright 2016 Michal Witkowski. All Rights Reserved. 2 // See LICENSE for licensing terms. 3 4 syntax = "proto3"; 5 package validatortest; 6 7 import "github.com/gogo/protobuf/gogoproto/gogo.proto"; 8 import "github.com/mwitkow/go-proto-validators/validator.proto"; 9 10 message ExternalMsg { 11 string Identifier = 1 [(validator.field) = {regex: "^[a-z]{2,5}$"}]; 12 int64 SomeValue = 2 [(validator.field) = {int_gt: 0, int_lt: 100}]; 13 } 14 15 message OneOfMessage3 { 16 uint32 SomeInt = 1 [(validator.field) = {int_gt: 10}]; 17 18 oneof type { 19 ExternalMsg one_msg = 2; 20 uint32 one_int = 3 [(validator.field) = {int_gt: 20}]; 21 uint32 two_int = 4 [(validator.field) = {int_gt: 100}]; 22 } 23 24 oneof something { 25 option (validator.oneof) = {required: true}; 26 uint32 three_int = 5 [(validator.field) = {int_gt: 20}]; 27 uint32 four_int = 6 [(validator.field) = {int_gt: 100}]; 28 string five_regex = 7 [(validator.field) = {regex: "^[a-z]{2,5}$"}]; 29 } 30 }