in validator.go [381:399]
func validateRequired(v interface{}, name string) error {
if v == nil {
return ErrRequired
}
val := reflect.ValueOf(v)
if val.Kind() == reflect.Ptr && val.IsNil() {
return ErrRequired
}
if isInt(val.Kind()) || isUint(val.Kind()) || isFloat(val.Kind()) {
if err := validateNonZero(v, name); err != nil {
return ErrRequired
}
return nil
}
if err := validateNonEmptyWithAllowNil(v, name, false); err != nil {
return err
}
return nil
}