mirror of
https://github.com/gin-gonic/gin.git
synced 2025-04-06 03:57:46 +08:00
28 lines
637 B
Go
28 lines
637 B
Go
package errorparser
|
|
|
|
import (
|
|
"github.com/go-playground/validator/v10"
|
|
)
|
|
|
|
func parseValidatorError(err error) (errs []ParseError, match bool) {
|
|
if vErr, ok := err.(validator.ValidationErrors); ok {
|
|
return parseValidatorValidationErrors(vErr), true
|
|
}
|
|
return nil, false
|
|
}
|
|
|
|
func parseValidatorValidationErrors(vErr validator.ValidationErrors) (errs []ParseError) {
|
|
fErrs := []validator.FieldError(vErr)
|
|
errs = make([]ParseError, 0, len(fErrs))
|
|
for _, fErr := range fErrs {
|
|
item := NewParseError(
|
|
fErr.Field(),
|
|
ParseErrorTypeValidation,
|
|
fErr,
|
|
)
|
|
|
|
errs = append(errs, item)
|
|
}
|
|
return errs
|
|
}
|