package shared import ( "errors" "github.com/go-playground/validator/v10" ) func ValidationError(err error) []string { var ve validator.ValidationErrors var result []string if !errors.As(err, &ve) { return []string{ err.Error(), } } for _, fe := range ve { result = append(result, errorMessage(fe)) } return result } func errorMessage(fe validator.FieldError) string { var errorInfo string switch fe.Tag() { case "required": errorInfo = "tidak boleh kosong" case "min": errorInfo = "harus diisi minimal " + fe.Param() case "max": errorInfo = "harus diisi maksimal " + fe.Param() case "oneof": errorInfo = "hanya bisa diisi dengan : " + fe.Param() case "uuid": errorInfo = "harus diisi dengan uuid" default: errorInfo = "tidak valid" } return fe.Field() + " " + errorInfo }