Use struct tags to aid in static validation #43
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What this PR does
This adds a dependency on github.com/go-playground/validator, which is an interesting way to implement static validation through struct tags.
This doesn't fully cover static validation, but helps remove some of the potential tedium of hand-written validation checks.
This also beautifies cloud error responses due to validation errors. Here's an example from some test data:
Jira: ARO-5736: Create static validation for frontend API Structs
(I started working on ARO-6347: Validate metadata from api structs but this ended up falling more into ARO-5736)
Special notes for your reviewer
Please read the individual commit messages, some of which have additional detail.
Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.