Node.js中ReferenceError: usuario is not defined问题求助
解决ReferenceError: usuario is not defined错误
错误原因
你在registerSave方法中创建了包含usuario属性的user对象,但验证时错误地直接引用了未定义的usuario变量,而非user.usuario(或req.body.usuario),导致抛出未定义错误。
修复后的控制器代码
module.exports = class UserController { // CADASTRO DE USUARIO // static register(req, res) { res.render('users/register') } static async registerSave(req, res){ // 确保已导入User模型,比如在文件顶部添加:const User = require('../models/User') const user = { usuario: req.body.usuario, senha: req.body.senha, confirmarsenha: req.body.confirmarsenha, } // 修正:引用user对象的usuario属性 if (!user.usuario) { res.send('Usuario é obrigatorio') return } // 建议添加密码一致性验证 if (user.senha !== user.confirmarsenha) { res.send('Senhas não coincidem') return } await User.create(user) res.redirect('/users/login') } static login(req, res){ res.render('users/login') } }
额外注意事项
- 必须在控制器文件顶部正确导入User模型,否则
User.create会抛出新的未定义错误,示例导入语句:const User = require('../models/User')(路径根据你的项目结构调整) - 前端表单的提交按钮文字为
Registar,建议修正为Registrar(拼写错误)
内容的提问来源于stack exchange,提问作者Julio Lauwers
相关产品推荐
相关产品推荐

