Versions in this module Expand all Collapse all v1 v1.0.1 May 8, 2020 Changes in this version + const ContextKeyBody + const ContextKeyQuery + func DefaultErrorHandler(w http.ResponseWriter, r *http.Request, err error) + func ValidateBody(schema Schema, errorHandler func(http.ResponseWriter, *http.Request, error)) func(next http.Handler) http.Handler + func ValidateJSON(dataRaw *[]byte, schema Schema) (dataMap map[string]interface{}, err error) + func ValidateQuery(schema Schema, errorHandler func(http.ResponseWriter, *http.Request, error)) func(next http.Handler) http.Handler + type AnySchema struct + func Any() *AnySchema + func (a *AnySchema) Default(value interface{}) *AnySchema + func (a *AnySchema) Equal(value interface{}) *AnySchema + func (a *AnySchema) Optional() *AnySchema + func (a *AnySchema) PrependTransform(f func(*Context)) *AnySchema + func (a *AnySchema) Required() *AnySchema + func (a *AnySchema) Set(value interface{}) *AnySchema + func (a *AnySchema) SetPriority(priority int) *AnySchema + func (a *AnySchema) Transform(f func(*Context)) *AnySchema + func (a *AnySchema) Valid(values ...interface{}) *AnySchema + func (a *AnySchema) Validate(ctx *Context) + func (a *AnySchema) When(refPath string, condition interface{}, then Schema) *AnySchema + func (b *AnySchema) Priority() int + type ArraySchema struct + func Array() *ArraySchema + func (a *ArraySchema) Check(f func(interface{}) error) *ArraySchema + func (a *ArraySchema) Default(value interface{}) *ArraySchema + func (a *ArraySchema) Items(schemas ...Schema) *ArraySchema + func (a *ArraySchema) Length(length int) *ArraySchema + func (a *ArraySchema) Max(max int) *ArraySchema + func (a *ArraySchema) Min(min int) *ArraySchema + func (a *ArraySchema) Optional() *ArraySchema + func (a *ArraySchema) PrependTransform(f func(*Context)) *ArraySchema + func (a *ArraySchema) Required() *ArraySchema + func (a *ArraySchema) SetPriority(priority int) *ArraySchema + func (a *ArraySchema) Transform(f func(*Context)) *ArraySchema + func (a *ArraySchema) Validate(ctx *Context) + func (a *ArraySchema) When(refPath string, condition interface{}, then Schema) *ArraySchema + func (b *ArraySchema) Priority() int + type BoolSchema struct + func Bool() *BoolSchema + func (b *BoolSchema) Default(value bool) *BoolSchema + func (b *BoolSchema) Equal(value bool) *BoolSchema + func (b *BoolSchema) Falsy(values ...interface{}) *BoolSchema + func (b *BoolSchema) Optional() *BoolSchema + func (b *BoolSchema) PrependTransform(f func(*Context)) *BoolSchema + func (b *BoolSchema) Priority() int + func (b *BoolSchema) Required() *BoolSchema + func (b *BoolSchema) Set(value bool) *BoolSchema + func (b *BoolSchema) SetPriority(priority int) *BoolSchema + func (b *BoolSchema) Transform(f func(*Context)) *BoolSchema + func (b *BoolSchema) Truthy(values ...interface{}) *BoolSchema + func (b *BoolSchema) Validate(ctx *Context) + func (b *BoolSchema) When(refPath string, condition interface{}, then Schema) *BoolSchema + type Context struct + Err error + Value interface{} + func NewContext(data interface{}) *Context + func (ctx *Context) Abort(err error) + func (ctx *Context) AssertKind(kind reflect.Kind) bool + func (ctx *Context) FieldPath() string + func (ctx *Context) Get(name string) (interface{}, bool) + func (ctx *Context) Ref(refPath string) (value interface{}, ok bool) + func (ctx *Context) Set(name string, value interface{}) + func (ctx *Context) Skip() + type K map[string]Schema + type NumberSchema struct + func Number() *NumberSchema + func (b *NumberSchema) Priority() int + func (n *NumberSchema) Ceil() *NumberSchema + func (n *NumberSchema) Check(f func(float64) error) *NumberSchema + func (n *NumberSchema) Convert(f func(float64) float64) *NumberSchema + func (n *NumberSchema) Default(value float64) *NumberSchema + func (n *NumberSchema) Equal(value float64) *NumberSchema + func (n *NumberSchema) Floor() *NumberSchema + func (n *NumberSchema) Integer() *NumberSchema + func (n *NumberSchema) Max(max float64) *NumberSchema + func (n *NumberSchema) Min(min float64) *NumberSchema + func (n *NumberSchema) Optional() *NumberSchema + func (n *NumberSchema) ParseString() *NumberSchema + func (n *NumberSchema) PrependTransform(f func(*Context)) *NumberSchema + func (n *NumberSchema) Required() *NumberSchema + func (n *NumberSchema) Round() *NumberSchema + func (n *NumberSchema) Set(value float64) *NumberSchema + func (n *NumberSchema) SetPriority(priority int) *NumberSchema + func (n *NumberSchema) Transform(f func(*Context)) *NumberSchema + func (n *NumberSchema) Valid(values ...float64) *NumberSchema + func (n *NumberSchema) Validate(ctx *Context) + func (n *NumberSchema) When(refPath string, condition interface{}, then Schema) *NumberSchema + type ObjectSchema struct + func Object() *ObjectSchema + func (b *ObjectSchema) Priority() int + func (o *ObjectSchema) Default(value map[string]interface{}) *ObjectSchema + func (o *ObjectSchema) Keys(children K) *ObjectSchema + func (o *ObjectSchema) Optional() *ObjectSchema + func (o *ObjectSchema) PrependTransform(f func(*Context)) *ObjectSchema + func (o *ObjectSchema) Required() *ObjectSchema + func (o *ObjectSchema) SetPriority(priority int) *ObjectSchema + func (o *ObjectSchema) Transform(f func(*Context)) *ObjectSchema + func (o *ObjectSchema) Validate(ctx *Context) + func (o *ObjectSchema) When(refPath string, condition interface{}, then Schema) *ObjectSchema + func (o *ObjectSchema) With(keys ...string) *ObjectSchema + func (o *ObjectSchema) Without(keys ...string) *ObjectSchema + type Schema interface + Priority func() int + Validate func(*Context) + type StringSchema struct + func String() *StringSchema + func (b *StringSchema) Priority() int + func (s *StringSchema) Alphanum() *StringSchema + func (s *StringSchema) Check(f func(string) error) *StringSchema + func (s *StringSchema) Convert(f func(string) string) *StringSchema + func (s *StringSchema) Default(value string) *StringSchema + func (s *StringSchema) Equal(value string) *StringSchema + func (s *StringSchema) Length(length int) *StringSchema + func (s *StringSchema) Lowercase() *StringSchema + func (s *StringSchema) Max(max int) *StringSchema + func (s *StringSchema) Min(min int) *StringSchema + func (s *StringSchema) Optional() *StringSchema + func (s *StringSchema) PrependTransform(f func(*Context)) *StringSchema + func (s *StringSchema) Regex(regex string) *StringSchema + func (s *StringSchema) Required() *StringSchema + func (s *StringSchema) Set(value string) *StringSchema + func (s *StringSchema) SetPriority(priority int) *StringSchema + func (s *StringSchema) Token() *StringSchema + func (s *StringSchema) Transform(f func(*Context)) *StringSchema + func (s *StringSchema) Trim() *StringSchema + func (s *StringSchema) Uppercase() *StringSchema + func (s *StringSchema) Valid(values ...string) *StringSchema + func (s *StringSchema) Validate(ctx *Context) + func (s *StringSchema) When(refPath string, condition interface{}, then Schema) *StringSchema