[英]How to normalize the input email?
当我遇到我使用规范化 email 来验证 email 时,我正在使用express-validator
,因此我将规范化的 email 存储到服务器。
验证码:
router.post(
"/signup",
[
check("name").not().isEmpty(),
check("email").normalizeEmail().isEmail(),
check("password").isLength({ min: 6, max: 15 }),
],
userController.signupUser
);
输入 email: abc.123@mail.com
标准化 email: abc123@gmail.com
(存储在数据库中)
现在的问题是在登录时输入 email 不匹配并显示无效凭据。
您只需要在normalizeEmail ()
中传递选项:
normalizeEmail ({"gmail_remove_dots": false "})
您不能删除任何. or _
. or _
因为它是用户电子邮件的一部分。
这里是验证 email 地址的示例
经过研究和观察,我注意到注册时使用的代码可用于在登录时对 email 进行规范化,我只需要添加:
router.post("/login",[check('email').normalizeEmail()], userController.loginUser);
添加 email 后,它正在转换为规范化的,可以直接从请求中使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.