valid-request-joi
v2.0.4
Published
Express middleware for validating the request with Joi.
Downloads
10
Maintainers
Readme
valid-request-joi
Express middleware for validating the request with Joi.
Install
npm install valid-request-joi
Usage
Import the middleware and Joi as below:
const validRequest = require('valid-request-joi');
const Joi = require('joi');
Define a schema:
const updateProductSchema = {
params: Joi.object({
productId: Joi.string()
.pattern(/^[0-9a-fA-F]{24}$/, 'ObjectId')
.required(),
}),
body: Joi.object({
name: Joi.string().trim().required(),
category: Joi.string().trim().required(),
price: Joi.number().min(0).precision(2).required(),
}),
};
Install the middleware on a route:
app.post('/api/product/:productId', validRequest(updateProductSchema), (req, res, next) => {
const productId = req.params.productId;
const update = req.body;
// ...
});
Implementation
The middleware validates the chosen parts of the request against the provided schemas.
If the request is valid, the request is updated with the sanitized data, and control passes to the next middleware.
Otherwise, a 400 response is sent.