Files
RenewCMS/api/pkg/validator/validator.go
T
2026-10-08 02:33:32 +02:00

30 lines
722 B
Go

package validator
import (
"RenewCMS/internal/domain/image"
"regexp"
"github.com/go-playground/validator/v10"
)
const inviteEmailTag = "inviteemail"
const variantNameTag = "variantname"
var inviteEmailPattern = regexp.MustCompile(`^[^\s@]+@[^\s@.]+(\.[^\s@.]+)+$`)
var Validate *validator.Validate
func InitValidator() {
Validate = validator.New()
_ = Validate.RegisterValidation(inviteEmailTag, isInviteEmail)
_ = Validate.RegisterValidation(variantNameTag, isVariantName)
}
func isVariantName(field validator.FieldLevel) bool {
return image.IsValidVariantName(field.Field().String())
}
func isInviteEmail(field validator.FieldLevel) bool {
return inviteEmailPattern.MatchString(field.Field().String())
}