package domain import ( "github.com/go-playground/validator/v10" "time" ) var V = validator.New(validator.WithRequiredStructEnabled()) func init() { _ = V.RegisterValidation("date_of_birth", dateOfBirthValidation) } func dateOfBirthValidation(fl validator.FieldLevel) bool { cd, _ := fl.Field().Interface().(CustomDate) if cd.Time.Before(time.Date(1924, time.January, 1, 0, 0, 0, 0, time.UTC)) || cd.Time.After(time.Now().AddDate(-16, 0, 0)) { return false // дата рождения после 01.01.1924 и юзеру больше 16 лет } return true }