【发布时间】:2017-08-28 21:06:04
【问题描述】:
我正在为 Web 应用程序进行简单的登录,但似乎无法正确处理 .getValidationResult()。我花了很多时间翻阅 express-validator 的 npm 文档,试图在教程中找到答案,并在 Stack Overflow 之类的网站上寻找我的问题的答案。也许我只是不知道该问什么正确的问题。
我想确保
- 用户提交了电子邮件地址形式的内容,
- 密码不为空。然后我想
- 在稍后与数据库交互之前清理电子邮件,然后
- 检查前 3 个过程是否有任何失败。如果失败,将用户返回到登录页面。
我的问题是使用 express-validator 的.getValidationResult() 的正确方法是什么?
这是有问题的代码:
export let postLogin = (req: Request, res: Response, next: NextFunction) => {
req.assert("email", "Email is not valid").isEmail();
req.assert("password", "Password cannot be blank").notEmpty();
req.sanitize("email").normalizeEmail({ gmail_remove_dots: false });
req.getValidationResult().then(function(result){
if (result != undefined) {
console.log(result.array();
return res.redirect("/login");
}
});
//do other login related stuff
}
我猜是一些简单的事情导致了我的错误,但我似乎找不到它是什么。
【问题讨论】:
-
验证结果始终为
!= undefined。它提供了对一个对象的访问,该对象有几种获取错误的方法。请参阅@turmuka 的回答。
标签: node.js typescript express express-validator