Есть маршрут на котором клиент проходит регистрацию... Но вот проблема в том, что периодически ответ от сервера приходит пустым, не понятно с чем это может быть связанно. Вот сам код :
// Require modules
var express = require('express');
var router = express.Router();
var mongoose = require('mongoose');
var UserSchema = require('../db/user');
var User = mongoose.model('user', UserSchema);
var validator = require('validator');
var createError = require('http-errors');
// Routes
router.route('/')
.get((req, res, next) => {
res.send(req.originalUrl);
})
.post((req, res, next) => {
if( validator.isEmail(req.body.email) &&
validator.isLength(req.body.password, 6, 18) &&
validator.isLength(req.body.firstname, 3, 18) &&
validator.isLength(req.body.lastname, 6, 18))
{
let user = {
email : req.body.email,
password : req.body.password,
firstname : req.body.firstname,
lastname : req.body.lastname,
fathername : req.body.fathername ? req.body.fathername : ''
}
new User(user).save()
.then(() => {
res.send('Ok');
})
.catch((err) => {
if(err.code == 11000) {
res.status(422).send('User exists');
}
else {
err = createError(500)
return next(err)
}
})
}
else {
res.status(422).send('Invalid data');
}
})
module.exports = router;
У меня есть подозрения что это отваливается каким то образом validator... Потому что сам post запрос попадает в обработчик. Или мб вынести проверку в отдельную функцию?