1.2.1 • Published 4 years ago

spieler v1.2.1

Weekly downloads
108
License
MIT
Repository
github
Last release
4 years ago

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:

  1. Add Spieler to your package.json
  2. 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

1.2.1

4 years ago

1.2.0

4 years ago

1.1.0

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago

0.0.0

10 years ago