Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'use strict'
- const { check, validationResult } = require('express-validator/check');
- const UserCtrl = require('../controllers/userControler')
- const userValidate = {};
- // Funcion promesa que verifica si el usuario existe en la bd utilizando el metodo del controlador
- function checkUser(email, nick, onSuccess, onError) {
- return new Promise ((resolve, reject) => {
- UserCtrl.getUserByEmailOrNick(email, nick,
- function (result) {
- resolve('User valido');
- }, function (error) {
- reject(error.err);
- });
- });
- }
- userValidate.getCheckRulesUser = [
- check('nick').exists().withMessage('nick requerido'),
- check('email').isEmail().withMessage('email invalido')
- .custom( (email, { req }) => {
- const nick = req.body.nick || '';
- console.log('nick request: ', nick);
- return checkUser(email, nick).then(sucess => {
- return email;
- }).catch(error => {
- throw new Error(error);
- })
- }),
- check('password', 'password debe contener al menos 5 caracteres y al menos 1 numero')
- .isLength({ min: 5 })
- .matches(/\d/),
- check('confirmPassword', 'password de confirmacion incorrecta.')
- .exists()
- .custom((confirmPassword, {req}) => {
- return confirmPassword === req.body.password;
- }),
- check('name').exists().withMessage('name requerido'),
- check('surname').exists().withMessage('surname requerido')
- ];
- userValidate.validatePostRequestUser = function (req, res, next) {
- const errors = validationResult(req);
- // Si existen errores
- if (!errors.isEmpty()) {
- return res.status(422).json({
- errors: errors.mapped()
- });
- }
- // si no hay errores se pasa a la accion del request
- next();
- };
- module.exports = userValidate;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement