const passwordResetVerify = async (req, res) => { const errors = validationResult(req); const appURL = process.env.FRONTEND_URL; if (!errors.isEmpty()) { return handleRedirect(res, 302, `${appURL}/password-reset-request?messageKey=passwordResetValidationError`); } return handleRedirect( res, 302, `${appURL}/password-reset?messageKey=passwordResetTokenConfirmed&key=${req.query.key}` ); }
router.put('/products/:productId/', [ check('name').not().isEmpty() ] , (req, res, next) => { const errors = validationResult(req); if (!errors.isEmpty()) { return res.status(400).json({ errors: errors.array() }); } return ProductController.updateProductById(req, res, next); });
const validateRequest = (req, res, next) => { // console.log("Request body", req.body); const errors = validationResult(req).array(); if (errors.length) { return res.status(422).send(errors); } const data = matchedData(req); res.locals.data = data; return next(); }
describe('when handleValidationError returns something', () => { beforeEach(async () => { expressValidator.validationResult.mockImplementation(() => ({ isEmpty: jest.fn().mockReturnValue(false), array: jest.fn().mockReturnValue([{ test: 'error' }]) })); result = await response.validateRequest(req, res, {}); }); it('does not trigger getTokenData', () => { expect(authentication.getTokenData).not.toHaveBeenCalled(); }); });
const validateRequest = (req, res, next) => { console.log('Req Body', req.body); const errors = validationResult(req).array({ onlyFirstError: true }); if (errors.length) { return res.status(422).send(errors) } const data = matchedData(req); res.locals.data = data; return next(); }
router.post('/login', [ check('email').isEmail(), check('password').not().isEmpty() ] , (req, res) => { const errors = validationResult(req); if (!errors.isEmpty()) { return res.status(400).json({ errors: errors.array() }); } return AuthControlller.login(req, res); });
const handleValidationErrors = (req, res, next) => { const errors = validationResult(req); if (!errors.isEmpty()) { return res.status(422).json({ errors: errors.array() }); } next(); }
router.post('/content/create', validate, function(req, res, next) { const errors = validationResult(req); if ( ! errors.isEmpty()) { return res.status(422).json({ errors: errors.array() }); } Content.createContent(req.body, function(err, content) { if (err) return next(err); res.send(content); }); });
router.post('/', [ check('name').isString() ], (req, res) => { // If errors return 422, client didn't provide required values const errors = validationResult(req); if (!errors.isEmpty()) { return res.status(422).json({ errors: errors.array() }); } // Otherwise use the server secret to encode the user's request as a JWT let info = {}; info.token = jwt.encode(req.body, secret); res.json(info); });
// can be reused by many routes const validate = (validations) => { return async (req, res, next) => { await Promise.all(validations.map((validation) => validation.run(req))); const errors = validationResult(req); if (errors.isEmpty()) { return next(); } res.status(422).json({ errors: errors.array() }); }; }
const handleValidationError = (req, res) => { const errors = validationResult(req); if (!errors.isEmpty()) { const errorArray = errors.array(); return emitValidationResponse(res, errorArray); } return null; }
router.post('/products', [ check('name').not().isEmpty() ] , (req, res, next) => { const errors = validationResult(req); if (!errors.isEmpty()) { return res.status(400).json({ errors: errors.array() }); } return ProductController.createProduct(req, res, next); });
const handleValidationErrors = (req, res, next) => { const errors = validationResult(req); if (!errors.isEmpty()) { return res.status(422).json({ errors: errors.array() }); } next(); }
const validateRequest = (req, res, next)=>{ const errors = validationResult(req).array({ onlyFirstError: true, }); if (errors.length) { return res.status(422).send(errors); } const data = matchedData(req); res.locals.data = data; return next(); }
const validateRequest = (req, res, next) => { const errors = validationResult(req).array({ onlyFirstError: true }); if(errors.length) { res.status(422).send(errors) } const data = matchedData(req); res.locals.data = data; return next(); }