From 07441215663fdaba56dbf865f3d591f308448fc1 Mon Sep 17 00:00:00 2001 From: AzenKain Date: Mon, 4 May 2026 14:50:48 +0700 Subject: [PATCH] UPDATE: Fix bug --- pkg/validator/validator.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/pkg/validator/validator.go b/pkg/validator/validator.go index 73a759b..70fc655 100644 --- a/pkg/validator/validator.go +++ b/pkg/validator/validator.go @@ -9,6 +9,7 @@ import ( "github.com/go-playground/validator/v10" "github.com/gofiber/fiber/v3" + "github.com/google/uuid" ) var validate = validator.New() @@ -40,6 +41,18 @@ func init() { } 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 { @@ -100,6 +113,8 @@ func formatValidationError(err error) []*ErrorResponse { message = fieldError.Field() + " is too long (max " + fieldError.Param() + ")" case "image_url": 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: message = "Field " + fieldError.Field() + " failed on validation: " + fieldError.Tag() }