Validation & Schemas
Object Builder
Single-state nested object fields
Property(&t.Address).Object(func(om *gonest.ObjectMetadata) {...}) is
single-state — unlike Array, there's no
separate "item" concept. The whole field is the object.
Reusing a registered schema ($ref)
m.Property(&t.Address).Object(func(om *gonest.ObjectMetadata) {
om.Metadata(addressMetadata) // reuse an already-registered *Schema
om.Required()
om.Description("Endereço principal")
})Open / free-form objects
m.Property(&t.Metadata).Object(func(om *gonest.ObjectMetadata) {
om.AdditionalProperties() // e.g. for map[string]any
}).Nullable().Description("Metadados abertos do usuário")om.AdditionalProperties() marks the schema as open, appropriate for
map[string]any-shaped data with no fixed key set.