// Enum validates if the data is a member of the enum func Enum(path, in string, data interface{}, enum interface{}) *errors.Validation { val := reflect.ValueOf(enum) if val.Kind() != reflect.Slice { return nil } var values []interface{} for i := 0; i < val.Len(); i++ { ele := val.Index(i) enumValue := ele.Interface() if data != nil && reflect.DeepEqual(data, enumValue) { return nil } values = append(values, enumValue) } return errors.EnumFail(path, in, data, values) }
func enumFail(param *spec.Parameter, data interface{}) *errors.Validation { return errors.EnumFail(param.Name, param.In, data, param.Enum) }
func enumFailItems(path, in string, items *spec.Items, data interface{}) *errors.Validation { return errors.EnumFail(path, in, data, items.Enum) }