chat_back_go/internal/domain/validate.go

22 lines
576 B
Go

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
}