Express Yup
express-yup
is a super light-weight Express middleware to easily validate the Express Request object against a Yup schema.
Yup is a leaner alternative to Joi, that also supports client-side validation and is the reason why this middleware was created in the first place - to easily share schemas between the client- and server-side.
If Joi is more your thing, then rather use the excellent express-validation library.
Installation
express-yup
has two peer-dependencies that you need to ensure is installed first: express
and yup
.
Install from NPM:
npm install express yup # or yarn add express yup
If you are using TypeScript, you might want to install their type definition files as well:
npm install -D @types/express @types/yup # or yarn add -D @types/express @types/yup
and then install express-yup
(it comes with its TypeScript types):
npm install express-yup # or yarn add express-yup
Usage
Add as middleware to your Express app as a whole if you want to validate all routes against a specific schema, or add individually to each route (more likely):
// Add whatever other middleware you need for your Express appapp.usebodyParser.json // Example global `express-yup` validate middleware app.usevalidateauthHeaderSchema // Example route-level middleware app.post '/some-route', validaterouteSchema, // Global error middlewareapp.use
Licence
MIT