(obj interface{})
| 8 | ) |
| 9 | |
| 10 | func ValidateStruct(obj interface{}) error { |
| 11 | validate := validator.New() |
| 12 | err := validate.Struct(obj) |
| 13 | if err == nil { |
| 14 | return nil |
| 15 | } |
| 16 | validationErrors := err.(validator.ValidationErrors) |
| 17 | validationError := validationErrors[0] |
| 18 | |
| 19 | field := strings.ToLower(validationError.StructField()) |
| 20 | switch validationError.Tag() { |
| 21 | case "required": |
| 22 | return errors.New(field + " is required") |
| 23 | case "max": |
| 24 | return errors.New(field + " is required with max " + validationError.Param()) |
| 25 | case "min": |
| 26 | return errors.New(field + " is required with min " + validationError.Param()) |
| 27 | case "email": |
| 28 | return errors.New(field + " is invalid") |
| 29 | } |
| 30 | return nil |
| 31 | } |
nothing calls this directly
no outgoing calls
no test coverage detected