UPDATE: Fix bug
All checks were successful
Build and Release / release (push) Successful in 1m8s

This commit is contained in:
2026-05-04 14:50:48 +07:00
parent bcc2e192c1
commit 0744121566

View File

@@ -9,6 +9,7 @@ import (
"github.com/go-playground/validator/v10" "github.com/go-playground/validator/v10"
"github.com/gofiber/fiber/v3" "github.com/gofiber/fiber/v3"
"github.com/google/uuid"
) )
var validate = validator.New() var validate = validator.New()
@@ -40,6 +41,18 @@ func init() {
} }
return isValidURL(val) return isValidURL(val)
}) })
validate.RegisterValidation("uuidv7", func(fl validator.FieldLevel) bool {
val := fl.Field().String()
if val == "" {
return true
}
u, err := uuid.Parse(val)
if err != nil {
return false
}
return u.Version() == 7
})
} }
func isValidURL(s string) bool { func isValidURL(s string) bool {
@@ -100,6 +113,8 @@ func formatValidationError(err error) []*ErrorResponse {
message = fieldError.Field() + " is too long (max " + fieldError.Param() + ")" message = fieldError.Field() + " is too long (max " + fieldError.Param() + ")"
case "image_url": case "image_url":
message = fieldError.Field() + " must be a link to an image (jpg, png, etc.)" message = fieldError.Field() + " must be a link to an image (jpg, png, etc.)"
case "uuidv7":
message = fieldError.Field() + " must be a valid UUID v7"
default: default:
message = "Field " + fieldError.Field() + " failed on validation: " + fieldError.Tag() message = "Field " + fieldError.Field() + " failed on validation: " + fieldError.Tag()
} }