Skip to content

String pointer validator

The ValidatorStringP provides functions for setting validation rules for a string type pointer, or a custom type based on a string pointer.

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

x := "Dennis Ritchie"; v.Is(v.StringP(&x).EqualTo("Dennis Ritchie"))
x := "Steve Jobs"; v.Is(v.StringP(&x).GreaterThan("Bill Gates"))
x := "Steve Jobs"; v.Is(v.StringP(&x).GreaterOrEqualTo("Elon Musk"))
x := "C#"; v.Is(v.StringP(&x).LessThan("Go"))
x := "Go"; v.Is(v.StringP(&x).LessOrEqualTo("Golang"))
x := "Rust"; v.Is(v.StringP(&x).Between("Go", "Typescript")) // Inclusive
x := ""; v.Is(v.StringP(&x).Empty())
x := " "; v.Is(v.StringP(&x).Blank())
x := "Dart"; v.Is(v.StringP(&x).Passing(func(val *string) bool { return *val == "Dart" }))
x := "processing"; v.Is(v.StringP(&x).InSlice([]string{"idle", "processing", "ready"})
x := "123456"; v.Is(v.StringP(&x).MaxLength(6))
x := "123"; v.Is(v.StringP(&x).MinLength(3))
x := "1234"; v.Is(v.StringP(&x).MinLength(4))
x := "12345"; v.Is(v.StringP(&x).LengthBetween(4,6)) // Inclusive
x := "pre-approved"; regex, _ := regexp.Compile("pre-.+"); v.Is(StringP(&x).MatchingTo(regex))
x := ""; v.Is(v.StringP(&x).EmptyOrNil())
x := " "; v.Is(v.StringP(&x).BlankOrNil())
var x *string; v.Is(v.StringP(x).Nil())