Question
Hi.
Does Apache Fory support field validation inside *.fdl , similar to Protobuf tools (Protovalidate (CEL)/protoc-gen-validate (PGV)) ❓
https://fory.apache.org/docs/compiler/protobuf_idl_support/
syntax = "proto3";
package v1.user;
import "buf/validate/validate.proto";
message UserProfile {
string id = 1 [(buf.validate.field).string.uuid = true];
// Numeric boundaries
uint32 age = 2 [(buf.validate.field).uint32.gte = 18, (buf.validate.field).uint32.lte = 120];
string email = 3 [(buf.validate.field).string.email = true];
// Length constraints and regex pattern matching
string username = 4 [
(buf.validate.field).string.min_len = 3,
(buf.validate.field).string.max_len = 30,
(buf.validate.field).string.pattern = "^[a-zA-Z0-9_]+$"
];
// Collection constraint (ensure list contains at least one item)
repeated string roles = 5 [(buf.validate.field).repeated.min_items = 1];
// Standard rules handle simple single-field checks.
uint64 amount = 6 [(buf.validate.field).uint64.gt = 0];
uint64 balance = 7;
// CEL produces a dynamic error message with runtime values.
option (buf.validate.message).cel = {
id: "transfer.sufficient_balance"
expression:
"this.amount <= this.balance ? ''"
": 'cannot transfer ' + string(this.amount)"
" + ' with a balance of ' + string(this.balance)"
};
}
Question
Hi.
Does Apache Fory support field validation inside *.fdl , similar to Protobuf tools (Protovalidate (CEL)/protoc-gen-validate (PGV)) ❓
https://fory.apache.org/docs/compiler/protobuf_idl_support/