Conditional Rules
This content is for v0.7. Switch to the latest version for up-to-date documentation.
Only validate when a flag is true
Section titled “Only validate when a flag is true”val := v. Is(v.String(username, "username").Not().Blank()). If(isAdmin, v.Is(v.String(role, "role").EqualTo("admin")))Only continue when valid so far
Section titled “Only continue when valid so far”val := v.Is( v.String(email, "email").Not().Blank(), v.String(country, "country").Not().Blank(),).WhenValid(func(val *v.Validation) { vatRate, err := lookupVATRate(country) if err != nil { val.AddErrorMessage("vat_rate", "Error computing VAT") return } val.Is(v.Number(vatRate, "vat_rate").GreaterThan(0))})