feat: use a map for O(1) lookup instead of a linear search

This commit is contained in:
2026-01-07 15:20:03 +01:00
parent 19aadc6fc8
commit 73930dabd8

View File

@@ -408,12 +408,15 @@ func validateOneOf(fieldName string, v reflect.Value, param string) *ValidationE
value := v.String()
allowedValues := strings.Split(param, " ")
allowedMap := make(map[string]bool, len(allowedValues))
for _, allowed := range allowedValues {
if value == allowed {
return nil
}
allowedMap[allowed] = true
}
if !allowedMap[value] {
return &ValidationError{Field: fieldName, Message: fieldName + " must be one of: " + param}
}
return nil
}