How to validate password in Node.js and Express

1 Answer

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

const router = express.Router();

router.post(
  '/',
  [
     check('password')
      .not()
      .isEmpty()
      .withMessage('Please enter Password')

      .isLength({ min: 8, max: 25 })
      .withMessage('Password Must be 8-25 characters long')

      .matches(/^[\S]+$/)
      .withMessage('Password must not contain spaces')

      .matches(
        /^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%* #+=\(\)\^?&])[A-Za-z\d$@$!%* #+=\(\)\^?&]{8,25}$/
      )
      .withMessage(
        'Password must contain at least 1 letter, 1 number and 1 special character'
      ),
  ],
  (req, res) => {
    const errors = validationResult(req);
    if (!errors.isEmpty()) {
      return res.status(400).json({ errors: errors.array() });
    }
    res.send('User details okay');
  }
);


module.exports = router;

// Postman 

/*
{
	"password": "aaaaaa1!"
}
*/

/*

run:

User details okay

*/

 



answered May 11, 2020 by avibootz
...