go-ozzo/ozzo-validation

An idiomatic Go (golang) validation package. Supports configurable and extensible validation rules (validators) using normal language constructs instead of...

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 60 minutes ago
Type:Library / SDKCategory(s):Core & Utility LibrariesLanguages & Runtimes
Added to GitGenius on September 16th, 2026
Created on June 22nd, 2016
Open Issues & Pull Requests: 30 (+0)
GitHub issues: Enabled
Number of forks: 245
Total Stargazers: 4,136 (+0)
Total Subscribers: 23 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 334.9 days
Mean response time: 693.4 days
90th percentile: 2027.3 days
Tracked items: 34

Most active contributors

Sign in to see contributor activity.

How this project is maintained

97% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Three people close 95% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 29
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,538 days
Stale 30+ days: 29
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • status: triage (19)
  • area: core (16)
  • type: feature (14)
  • priority: low (10)
  • status: confirmed (10)
  • type: bug (10)
  • priority: medium (8)
  • status: needs-info (8)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

ozzo-validation is a validation package for Go that enables configurable and extensible validation rules using normal language constructs instead of struct tags.

The package addresses the problem of validation in Go applications by providing an alternative to tag-based validation approaches. Rather than embedding validation logic in struct field tags, which can be error-prone and difficult to maintain, ozzo-validation allows developers to express validation rules using standard Go code. This approach makes validation logic more readable, testable, and flexible, since rules can be composed and reused as ordinary functions and values.

Developers should choose this tool if they prefer explicit, code-based validation over declarative tag-based approaches and value the ability to write custom validators without fighting against framework constraints. The package suits projects where validation logic is complex or needs to be shared across multiple types, or where developers want validation errors and rules to be first-class citizens in their codebase rather than hidden in struct metadata. The idiomatic Go style means it integrates naturally with existing Go patterns and does not require learning a domain-specific syntax for validation rules.

The project shows consistent maintenance with regular updates to address issues and incorporate improvements. Development activity demonstrates responsiveness to user feedback and bug reports. The codebase maintains a focus on keeping the API simple and aligned with Go conventions rather than expanding scope unnecessarily.