in validate.go [89:99]
func validateAtLeastOneOf(fl validator.FieldLevel) bool {
atLeastOneOf := strings.Split(fl.Param(), " ")
parentStruct := fl.Parent()
for _, fieldName := range atLeastOneOf {
field := parentStruct.FieldByName(fieldName)
if field.IsValid() && !field.IsZero() {
return true
}
}
return false
}