Skip to content

v0.1.0

Choose a tag to compare

@cmilesio cmilesio released this 10 Nov 17:56
· 11 commits to main since this release

Validate Go values with readable fluent chains, reusable typed rules, and useful field errors. v0.1.0 is the first release of GoForj Validation.

What ships

  • Typed builders for strings, numbers, booleans, time, slices, maps, and domain values.
  • Direct format checks such as IsEmail() and IsUUIDv7(), plus dates, network values, encodings, and character classes.
  • Optional and presence-aware inputs that distinguish omitted fields, explicit null, and supplied zero values.
  • Pluggable validator types and functions, Any/All/Not composition, and context-aware checks.
  • Ordered field errors with stable codes, custom messages, localization hooks, and configurable error collection.

Try it

Requires Go 1.24 or newer, with no runtime dependencies.

go get github.com/goforj/validation@v0.1.0
err := validation.Validate(
    validation.String("name", "Ada").Required().Min(2),
    validation.String("email", "ada@example.com").IsEmail(),
    validation.Number("age", 36).Min(18),
)

See the quick start and runnable examples and validation contracts.

This release publishes only github.com/goforj/validation; the docs module remains repository tooling. The release review records correctness fixes, exact statement coverage, fuzzing, resource checks, and minimum Go verification.