Making sure everything's right in the world
When receiving incoming requests it's best practice to validate the payload to make sure it meets your expectations, contains all the necessary fields, and so on.
Encore provides an out-of-the-box middleware that automatically validates
incoming requests if the request type implements the method
If it does, Encore will call this method after deserializing the request payload,
and only call your API handler (and other middleware) if the validation function
If the validation function returns an
*errs.Error that error
is reported unmodified to the caller. Other errors are converted to an
InvalidArgument, which results in a HTTP response with status code
400 Bad Request.
This design means that it's easy to use your validation library of choice. In the future we're looking to provide an out-of-the-box validation library for an even better developer experience.