jsonschema
JSONSchema (draft 2020-12, draft 2019-09, draft-7, draft-6, draft-4) Validation using Go (by santhosh-tekuri)
ozzo-validation
An idiomatic Go (golang) validation package. Supports configurable and extensible validation rules (validators) using normal language constructs instead of error-prone struct tags. (by go-ozzo)
Our great sponsors
jsonschema | ozzo-validation | |
---|---|---|
3 | 13 | |
832 | 3,566 | |
- | 1.7% | |
7.2 | 0.0 | |
4 days ago | about 1 month ago | |
Go | Go | |
Apache License 2.0 | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
jsonschema
Posts with mentions or reviews of jsonschema.
We have used some of these posts to build our list of alternatives
and similar projects.
-
Validating dynamic JSON user input
If I were doing it, I would define struct that match the data you expect and update those struct as the project progresses. Also if I were doing it I'd explicitly not allow values with different types for the same key so that would prevent me from having to declare value types as interface{}. If you want a more general purpose validation of arbitrary JSON, you could define a JSON schema and validate it with a library like this.
-
GitHub - santhosh-tekuri/jsonschema now implements draft2020-12
check release notes (license Apache-2.0)
-
github.com/santhosh-tekuri/jsonschema@v4 implements draft 2019-09
Just released v4.0.0 of https://github.com/santhosh-tekuri/jsonschema
ozzo-validation
Posts with mentions or reviews of ozzo-validation.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-12-06.
-
Is there any equivalent to pydantic, serde, etc?
go-ozzo/ozzo-validation
- Request Validations in Go REST API
-
Suggestion for a dynamic Struct Validation Rules
https://github.com/go-ozzo/ozzo-validation Seems to do what I need but likely will need some convoluted reflection to build out the rules. Also likely some custom rules to be written which is okay since it's a one time cost and reuse in the expressions.
-
Proper validation package suggestion
Personally I use ozzo validation: https://github.com/go-ozzo/ozzo-validation
-
Valgo is a type-safe, expressive, and extensible validator library for Golang.
This looks useful, but what differentiates it from something like https://github.com/go-ozzo/ozzo-validation ? Why would I use Valgo over something battle tested that follows a very similar pattern?
-
Why use go over node?
This is where it gets spicy: I just don't get at all who ever though this struct-tag based validation library was a good idea https://github.com/go-playground/validator - and yet it's the most mainstream one. Try to implement your own type, you're up to register some global validation tag and repeat it every time you're using that type. I'm grateful https://github.com/go-ozzo/ozzo-validation exists, that's what I use. But it's still way behind the other things I mention, where in general, it's simply not possible to pass around an invalid struct - because it can't be built if it's invalid in the first place.
-
Gin vs Echo framework
Gin comes with built-in "validation", while Echo recommends the same validator. I am also not a fan of magic struct tags, so I would probably prefer either writing my own or using something like ozzo.
-
What type of software do you write at your workplace?
Other packages of note: https://github.com/uber-go/zap https://github.com/go-ozzo/ozzo-validation
-
is there any package to generate validation code for struct instead of using reflect (tags)?
Does https://github.com/go-ozzo/ozzo-validation meet your requirements?
-
How do you validate your structures?
https://github.com/go-ozzo/ozzo-validation/blob/v3.6.0/struct.go#L61