Oneof rules#
The OneofRules
message type enables you to manage rules for
oneof fields in your protobuf messages.
required#
If required
is true, exactly one field of the oneof must be present. A
validation error is returned if no fields in the oneof are present. The
field itself may still be a default value; further rules
should be placed on the fields themselves to ensure they are valid values,
such as min_len
or gt
.
oneof.required example
message MyMessage {
oneof value {
// Either `a` or `b` must be set. If `a` is set, it must also be
// non-empty; whereas if `b` is set, it can still be an empty string.
option (buf.validate.oneof).required = true;
string a = 1 [(buf.validate.field).string.min_len = 1];
string b = 2;
}
}