wzr*_*zrd 0 javascript json node.js express
建立一个注册系统,当表单中有错误时,我会收到正确的错误。
但是,当具有相同电子邮件的用户尝试注册“res.json({error: 'email exists'})”时,它会返回空的 {}。
我正在使用邮递员来测试响应。
响应为空的问题是什么?
router.post("/register", (req, res) => {
const { name, email, password, password2 } = req.body;
let errors = {};
if (!name) {
errors.name = "Name is required";
}
...
if (errors) {
return res.json(errors);
} else {
User.findOne({ email: email }).then(user => {
if (user) {
return res.json({ email: "email already exists" });
} else {
...
...
...
Run Code Online (Sandbox Code Playgroud)
您使用错误的方式检查空对象,
if(errors) // This will evaluate to true always once the object is initialized
Run Code Online (Sandbox Code Playgroud)
是的,因此作为响应返回空的错误对象 & 它根本不会检查电子邮件
您可以使用
if ( Object.keys(errors).length != 0 ) {
Run Code Online (Sandbox Code Playgroud)
检查错误对象是否为空
| 归档时间: |
|
| 查看次数: |
157 次 |
| 最近记录: |