express -validator показывает сообщение об ошибке как по умолчанию, так и пользовательское, если введен неправильный адрес электронной почты, при правильных значениях отображается сообщение об ошибке по умолчанию - PullRequest
0 голосов
/ 13 июля 2020

у меня не работает. он показывает ошибку (при вводе неправильных деталей как по умолчанию, так и по умолчанию), но когда я устанавливаю правильные значения, он показывает сообщение об ошибке по умолчанию, и ничего не попадает в базу данных.

Я использую express -validator и пытаюсь определить мое собственное сообщение об ошибке и проверка.

мой маршрутизатор

const express = require('express');

const router = express.Router();

const mongoose = require('mongoose');

const cors = require('cors');

const {signupValid,validres} = require('../validators/signUpValidator')

const NewUser = require('../models/oneUserSignup');

router.use(cors());

router.post('/signup',signupValid,validres);

module.exports = router;

моя проверка

const express = require('express');

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

const NewUser = require('../models/oneUserSignup');

const checkExistance = (value)=>{

    NewUser.findOne({email : value}, (err, docs)=>{

        if(!err && docs != null){

            console.log("email already exists!");

            return false;
        }
    });
}

const checkConfirmation = (value, {req})=>{

    if(value != req.body.confirmpassword){

        return false;

    }
    
}
exports.signupValid = [
   

     check('email')
    
        .isEmail().withMessage("invalid email address")
    
        .custom(checkExistance),
    
        check('password')
    
        .isLength({min : 8}).withMessage("password must be 8 characters")
    
        .custom(checkConfirmation)

];

exports.validres = (req,res)=>{

    const errors = validationResult(req);

    if (!errors.isEmpty()) {
        
        return res.status(422).json({ errors: errors.array() });
    }

    else{
            let User = new NewUser({

                firstname : req.body.firstname,

                lastname : req.body.lastname,

                email : req.body.email,

                password : req.body.password
            });

            User.save(User,(err,docs)=>{
                if(!err){

                    console.log("user saved")

                    res.send(docs);
                }
                else{
                    console.log(err);
                }
            });
        }
...