Files
test-iris-web-framework/app/lib/helpers/validation.go
2023-10-30 23:33:10 +01:00

37 lines
1.0 KiB
Go

package helpers
import (
"fmt"
"github.com/go-playground/validator/v10"
)
type ValidationError struct {
ActualTag string `json:"tag"`
Namespace string `json:"namespace"`
Kind string `json:"kind"`
Type string `json:"type"`
Value string `json:"value"`
Param string `json:"param"`
Field string `json:"field"`
StructField string `json:"structField"`
}
func WrapValidationErrors(errs validator.ValidationErrors) []ValidationError {
validationErrors := make([]ValidationError, 0, len(errs))
for _, validationErr := range errs {
validationErrors = append(validationErrors, ValidationError{
ActualTag: validationErr.ActualTag(),
Namespace: validationErr.Namespace(),
Kind: validationErr.Kind().String(),
Type: validationErr.Type().String(),
Value: fmt.Sprintf("%v", validationErr.Value()),
Param: validationErr.Param(),
Field: validationErr.Field(),
StructField: validationErr.StructField(),
})
}
return validationErrors
}