You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 15:18:55