у меня не работает. он показывает ошибку (при вводе неправильных деталей как по умолчанию, так и по умолчанию), но когда я устанавливаю правильные значения, он показывает сообщение об ошибке по умолчанию, и ничего не попадает в базу данных.
Я использую 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);
}
});
}