func (v *validate) Validator() *Validate {
	return v.v
}
Validator returns the main validation object, in case one want to call validations internally.
package validator
import (
	"context"
	"reflect"
)
type StructLevelFunc func(sl StructLevel)
type StructLevelFuncCtx func(ctx context.Context, sl StructLevel)
func wrapStructLevelFunc(fn StructLevelFunc) StructLevelFuncCtx {
	return func(ctx context.Context, sl StructLevel) {
		fn(sl)
	}
}
type StructLevel interface {
	Validator() *Validate
	Top() reflect.Value
	Parent() reflect.Value
	Current() reflect.Value
	ExtractType(field reflect.Value) (value reflect.Value, kind reflect.Kind, nullable bool)
	ReportError(field interface{}, fieldName, structFieldName string, tag, param string)
	ReportValidationErrors(relativeNamespace, relativeActualNamespace string, errs ValidationErrors)
}
var _ StructLevel = new(validate)
func (v *validate) Top() reflect.Value {
	return v.top
}
func (v *validate) Parent() reflect.Value {
	return v.slflParent
}
func (v *validate) Current() reflect.Value {
	return v.slCurrent
}