spieler
v1.2.1
Published
A wrapper for express-validator for easier input validation in Express
Downloads
15
Maintainers
Readme
Spieler
A wrapper for express-validator for easier input validation in Express.js
Motivation
If you use vanilla express-validator you will have to add code similar to the following to each and every route-processing callback function:
// either this:
const errors = validationResult(req);
if (!errors.isEmpty()) {
...
}
// or something like this:
try {
validationResult(req).throw();
res.json(...);
} catch (err) {
res.status(422).json(...);
}
And that despite the fact that you are already providing all of the validtaion configuration in the route mapping! This is wasteful.
Spieler allows you to do validation in one place (mapping) and skip a whole
bunch of unnecessary boilerplate code. Other than that, it acts exactly like
express-validator
. In essence, Spieler is a convenience wrapper for the
wonderful express-validator module.
Setup:
- Add Spieler to your package.json
- In your route mappings, instead of providing just an array of checks, as you would do for a vanilla express-validator, wrap the checks in a spieler() function call, as shown here:
const addUserValidator = spieler([
check("email").exists().isEmail().withMessage('must be an email')
.trim().normalizeEmail(),
check('password', 'passwords must be at least 5 chars long and contain one number')
.exists()
.isLength({ min: 5 })
.matches(/\d/)
]);
router.post('/', addUserValidator, actions.addUser);
You can see the full example of Spieler in action in NodeBootstrap, specifically: users/controllers/mapping.js