req-requires.js is a library that is used to validate properties on the request object in expressjs route handlers.
Installation
Install req-requires with npm install req-requires
Usage
app.js
The following needs to be placed in the app.js file
var requires = require('req-requires');
app.use(requires.setup);
app.use(app.router);
app.use(requires.error);
Usage
This will make sure the /testRoute handler has req.query.name
app.get('/testRoute', function(req, res){
req.requires.property('query.name').toExist();
res.send('Hello '+req.query.name+'!');
});
Example of a failing request
Example Request:
GET: http://localhost:3000/testRoute
Example Response
400: Expected query.name to exist
Example of a passing request
Example Request:
GET: http://localhost:3000/testRoute?name=brandon
Example Response
200: Hello brandon!
Validators
req.requires.property('auth_provider').toExist();
req.requires.property('body.email').toExist();
req.requires.property('params.id').toMatch(/^[0-9a-fA-F]{24}$/);