I have been using Go Validator.v2 for field validations and it works elegantly for my non-struct typed fields. However, when it comes to handling struct-based fields (within the original struct), there is no documentation about it whatsoever. https://pkg.go.dev/mod/gopkg.in/validator.v2
I know the v10 has support for it, but I prefer the built-in regex support in v2. Is there anyway I can customise validation for these struct-based fields? e.g.
type user struct {
Name string `validate:"nonzero"`
Age int `validate:"min=21"`
BillingAddress *Address ???
}
I wish to validate the BillingAddress field as shown above, or do I simply write the validation tags in the Address model and it will automatically validate it, too?
Thanks and any pointers are appreciated!
The validator package will recursively search a struct. Just ensure that the nested struct's fields are not anonymous and have a
validate
tag.If you find yourself ever lost on a package functionality, takes a look at their test files, it might reveal something. For example, the validator package testing has an example for nested structs here.
Example: