in validate.go [71:87]
func validateRequiredWith(fl validator.FieldLevel) bool {
requiredWith := strings.Split(fl.Param(), " ")
parentStruct := fl.Parent()
fieldName := fl.FieldName()
thisField := parentStruct.FieldByName(fieldName)
if !thisField.IsValid() || thisField.IsZero() {
return true
}
for _, anotherField := range requiredWith {
field := parentStruct.FieldByName(anotherField)
if !field.IsValid() || field.IsZero() {
return false
}
}
return true
}