ValidateSchema
Overview
ValidateSchema validates v against sch (map or struct).
If you are coming from Node.js, the closest pattern is schema.parse(data).
Signature
go
func ValidateSchema(sch Schema, v any) errorCompare: Node.js · Standard Go · gox
js
schema.parse(data);go
// validate fields manually or map to struct tagsgo
import "github.com/sahilkhaire/gox/validate"
sch := validate.Object(map[string]validate.Field{
"name": validate.String().MinLen(2),
"role": validate.String().OneOf("admin", "user"),
})
if err := validate.ValidateSchema(sch, map[string]any{"name": "alice", "role": "admin"}); err != nil {
return err
}Example
go
import "github.com/sahilkhaire/gox/validate"
sch := validate.Object(map[string]validate.Field{
"name": validate.String().MinLen(2),
"role": validate.String().OneOf("admin", "user"),
})
if err := validate.ValidateSchema(sch, map[string]any{"name": "alice", "role": "admin"}); err != nil {
return err
}Tips
Import github.com/sahilkhaire/gox/validate and call ValidateSchema directly. See the comparison below for the standard library equivalent.
Standard library alternative
Use the standard library directly:
go
// validate fields manually or map to struct tags