25 lines
699 B
Go
25 lines
699 B
Go
package validators
|
|
|
|
import (
|
|
"git.hpds.cc/Component/gin_valid/go-playground/validator/v10"
|
|
"reflect"
|
|
"strings"
|
|
)
|
|
|
|
// NotBlank is the validation function for validating if the current field
|
|
// has a value or length greater than zero, or is not a space only string.
|
|
func NotBlank(fl validator.FieldLevel) bool {
|
|
field := fl.Field()
|
|
|
|
switch field.Kind() {
|
|
case reflect.String:
|
|
return len(strings.TrimSpace(field.String())) > 0
|
|
case reflect.Chan, reflect.Map, reflect.Slice, reflect.Array:
|
|
return field.Len() > 0
|
|
case reflect.Ptr, reflect.Interface, reflect.Func:
|
|
return !field.IsNil()
|
|
default:
|
|
return field.IsValid() && field.Interface() != reflect.Zero(field.Type()).Interface()
|
|
}
|
|
}
|