Search code examples
node.jsexpressexpress-validator

express-validator: how to check queries


With express-validator how can we check the query for a request?

In the documentation there is an example to check body:

const { check, validationResult } = require('express-validator/check');

app.post('/user', [
  // username must be an email
  check('username').isEmail(),
  // password must be at least 5 chars long
  check('password').isLength({ min: 5 })
], (req, res) => {
  // Finds the validation errors in this request and wraps them in an object with handy functions
  const errors = validationResult(req);
  if (!errors.isEmpty()) {
    return res.status(422).json({ errors: errors.array() });
  }

  User.create({
    username: req.body.username,
    password: req.body.password
  }).then(user => res.json(user));
});

How can I set it to check only the query for GET methods?

GET /user?username=name I just want to check username in the query here.


Solution

  • You can achieve this by:

    app.post('/user', [
      check.query('username')
    ], (req, res) => {
     //your code
    });