Start here
Maintainer-facing notes
Observations that surfaced while extracting this API surface from source. They are a starting point for the maintainers, not a review of the project.
Observations that surfaced while extracting this API surface from source. They are a starting point for the maintainers, not a review of the project.
What the extraction found
- 25 packages: the core package,
non-standard/validators, and 23 language packs undertranslations/. - The core package carries the bulk of exported surface (constructor, validation entry points,
registration hooks, error types, and the
FieldLevel/StructLevelcallback contracts).
Gaps that became visible
- The registration API is the least documented part of the surface.
RegisterValidation,RegisterStructValidation,RegisterCustomTypeFunc,RegisterTagNameFuncand the alias registration family are the extension points most users touch — and they are documented only by a signature plus a README paragraph, with no per-hook contract for what the callback may legally do. - The 23 translation packages read as undifferentiated. They are near-identical in shape
(register translations against a
ut.Translator), so a reader cannot tell which locales are maintained, which lag behind the tag set, or which add custom messages. - Deprecations are not machine-readable. Symbols replaced over the v9→v10 line are explained in prose only, so an automated consumer of the API surface gets no signal.
- No concept index. The README explains the tag syntax well; nothing links a concept such as "cross-field validation" to the exact symbols that implement it.
Reproduce
git clone https://github.com/go-playground/validator.git target-validator
cd target-validator && git checkout dfe35cf8317892133dfe31e36054dcbf36aab604
sourcey godoc -m . -p ./... -o ../godoc-validator.json
cd .. && sourcey build