Fix #26 Validation Error Response #28
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.
Checklist
npm run test
andnpm run benchmark
and the Code of conduct
This PR updates the
TypeBoxValidatorCompiler
to return values ofFastifySchemaValidationError
on validation fail. This to prevent Fastify from crashing due to throwing an exception within the compiler validate callback. As of this PR, invalid data passed to the route will now result in a correct400: Bad Request
and an appropriate error object is returned on the response with a message hinting at what data is incorrect.Note
I note that Fastify currently doesn't appear to directly export the
FastifyValidationResult
andFastifySchemaValidationError
types. These types are accessible by importingfastify/types/schema
however. I have left a comment here to potentially update the implementation with a TS assertion on the error result (for correctness), however the current error result seems to generate adequate errors with the properties specified.Submitting for community review