UPDATE: some logic change
All checks were successful
Build and Release / release (push) Successful in 1m2s

This commit is contained in:
2026-04-09 12:11:17 +07:00
parent cdf27f4a5f
commit 084ba1e76a
3 changed files with 30 additions and 1 deletions

View File

@@ -2,6 +2,8 @@ package validator
import (
"errors"
"net/url"
"path"
"reflect"
"strings"
@@ -22,6 +24,31 @@ func init() {
}
return name
})
validate.RegisterValidation("image_url", func(fl validator.FieldLevel) bool {
val := fl.Field().String()
if val == "" {
return true
}
return isImageURL(val)
})
}
func isImageURL(u string) bool {
parsed, err := url.Parse(u)
if err != nil {
return false
}
ext := strings.ToLower(path.Ext(parsed.Path))
switch ext {
case ".jpg", ".jpeg", ".png", ".gif", ".webp":
return true
default:
return false
}
}
type ErrorResponse struct {