V014¶
ValidationStandard
check for custom SchemaValidateFunc that implement validation.IntInSlice() or validation.IntNotInSlice()
The V014 analyzer reports when custom SchemaValidateFunc declarations can be replaced with validation.IntInSlice() or validation.IntNotInSlice().
Examples¶
// directly in Schema
ValidateFunc: validation.IntInSlice([]int{1, 2}, false),
// or saving as a variable
var validateExampleThing = validation.IntInSlice([]int{1, 2}, false)
// or replacing the function
func validateExampleThing() schema.SchemaValidateFunc {
return validation.IntInSlice([]int{1, 2}, false)
}
Ignoring reports¶
Singular reports can be ignored by adding a //lintignore:V014 Go code comment at the end of the offending line or on the line immediately preceding, e.g.
//lintignore:V014
func validateExampleThing(v interface{}, k string) (ws []string, errors []error) {
value := v.(int)
if value != 1 && value != 2 {
errors = append(errors, fmt.Errorf("%q must be 1 or 2: %d", k, value))
}
return
}
This page is generated from passes/V014/README.md, which lives beside the analyzer.