【发布时间】:2019-11-24 18:47:29
【问题描述】:
我使用 ExpressJS 构建的 API 已成功在 db 中创建数据,但我的 API 继续在 db 中创建数据,即使 req 未通过验证。 这是我的控制器:
module.exports = {
validate: function (method){
switch (method) {
case 'personalInfo': {
return [
body('email').not().isEmpty().isEmail().normalizeEmail().withMessage('Your email is not valid')
]
}
}
},
createNewPersonalData: function (req, res) {
const errors = validationResult(req).formatWith(utils.validationFound);
if(!errors.isEmpty()){
res.status(300).json(errors.array());
}
var name = req.body.name,
email = req.body.email;
PersonalInfo.create({
name : name,
email : email
})
.then(Personal_Info => {
res.json({
'status': 'OK',
'messages': 'Personal Info Created',
'data': Personal_Info
})
});
}
}
如果我发送如下请求:
{
"name": "John",
"email": "john"
}
API 应发送响应为
{
"message": "Your email is not valid",
"param": "email",
}
我的问题是 API 继续在 db 中创建数据,尽管 req 和 res 像上面的例子一样。
谢谢
【问题讨论】: