Advertisement
Guest User

user validate module

a guest
Mar 6th, 2018
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 'use strict'
  2.  
  3. const { check, validationResult } = require('express-validator/check');
  4. const UserCtrl = require('../controllers/userControler')
  5.  
  6. const userValidate = {};
  7.  
  8. // Funcion promesa que verifica si el usuario existe en la bd utilizando el metodo del controlador
  9. function checkUser(email, nick, onSuccess, onError) {
  10.   return new Promise ((resolve, reject) => {
  11.     UserCtrl.getUserByEmailOrNick(email, nick,
  12.       function (result) {
  13.         resolve('User valido');
  14.       }, function (error) {
  15.         reject(error.err);
  16.       });
  17.   });
  18. }
  19.  
  20. userValidate.getCheckRulesUser = [
  21.     check('nick').exists().withMessage('nick requerido'),
  22.     check('email').isEmail().withMessage('email invalido')
  23.     .custom( (email, { req }) => {
  24.       const nick = req.body.nick || '';
  25.       console.log('nick request: ', nick);
  26.       return checkUser(email, nick).then(sucess => {
  27.         return email;
  28.       }).catch(error => {
  29.         throw new Error(error);
  30.       })
  31.     }),
  32.     check('password', 'password debe contener al menos 5 caracteres y al menos 1 numero')
  33.     .isLength({ min: 5 })
  34.     .matches(/\d/),
  35.     check('confirmPassword', 'password de confirmacion incorrecta.')
  36.     .exists()
  37.     .custom((confirmPassword, {req}) => {
  38.         return confirmPassword === req.body.password;
  39.     }),
  40.     check('name').exists().withMessage('name requerido'),
  41.     check('surname').exists().withMessage('surname requerido')    
  42. ];
  43.  
  44. userValidate.validatePostRequestUser = function (req, res, next) {
  45.   const errors = validationResult(req);
  46.   // Si existen errores
  47.   if (!errors.isEmpty()) {
  48.     return res.status(422).json({
  49.       errors: errors.mapped()
  50.     });
  51.   }
  52.   // si no hay errores se pasa a la accion del request
  53.   next();
  54. };
  55.  
  56. module.exports = userValidate;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement