Skip to content

Number pointer validator

The Number pointer validator provides functions for setting validation rules for a TypeNumber pointer, or a custom type based on a TypeNumber pointer.

As it’s explained in Number validator, the TypeNumber is a generic interface defined by Valgo that generalizes any standard Golang type.

Below is a valid example for every Number pointer validator rule.

x := 10; v.Is(v.NumberP(&x).EqualTo(10))
x := 11; v.Is(v.NumberP(&x).GreaterThan(10))
x := 10; v.Is(v.NumberP(&x).GreaterOrEqualTo(10))
x := 10; v.Is(v.NumberP(&x).LessThan(11))
x := 10; v.Is(v.NumberP(&x).LessOrEqualTo(10))
x := 11; v.Is(v.NumberP(&x).Between(10, 12)) // Inclusive
x := 0; v.Is(v.NumberP(&x).Zero())
x := 10; v.Is(v.NumberP(&x).Passing(func(val *int) bool { return *val == 10 }))
x := 20; v.Is(v.NumberP(&x).InSlice([]int{10, 20, 30}))
x := 0; v.Is(v.NumberP(&x).ZeroOrNil())
var x *int; v.Is(v.NumberP(x).Nil())