当我遇到我在注册时使用规范化电子邮件来验证电子邮件时,我正在与
express-validator
合作,因此我将规范化电子邮件存储到服务器。
验证码:
router.post(
"/signup",
[
check("name").not().isEmpty(),
check("email").normalizeEmail().isEmail(),
check("password").isLength({ min: 6, max: 15 }),
],
userController.signupUser
);
输入邮箱:
[email protected]
标准化电子邮件:
[email protected]
(存储在数据库中)
现在的问题是在登录时输入的电子邮件不匹配并显示无效的凭据。
您只需在验证链中的中间件中传递
normalizeEmail ()
内的选项即可:
normalizeEmail({ gmail_remove_dots: false })
经过研究和观察,我注意到注册时使用的代码可以用于在登录时规范电子邮件,我只需添加:
router.post("/login",[check('email').normalizeEmail()], userController.loginUser);
添加后,电子邮件将转换为标准化电子邮件,可以直接从请求中使用。