javascript - TypeError : req. checkBody 不是函数

标签 javascript node.js express

我正尝试在注册系统中实现一些验证,但出现错误:

     TypeError: req.checkBody is not a function

来自以下代码:

module.exports = function(app, express) {
  var express = require('express');
  var api = express.Router();

  // post users to database
  api.post('/signup', function(req, res) {
    var email = req.body.email;
    var password = req.body.password;
    var password2 = req.body.password2;
    var key = req.body.key;

    // Validation
    req.checkBody('email', 'Email is required.').notEmpty();
    req.checkBody('email', 'Email is not valid').isEmail(); 
    req.checkBody('password', 'Password is required').notEmpty();
    req.checkBody('password2', 'Passwords do not match').equals(req.body.password);

    var errors = req.validationErrors();

    if(errors) {
      res.render('register', {
        errors: errors
      });
    } else {
      var user = new User({
        email: email,
        password: password
      });
      var token = createToken(user);
    }

    // save to database
    user.save(function(err) {
      if (err) {
        res.send(err);
        return;
      }

      res.json({
        success: true,
        message: 'User has been created',
        token: token
      });
    });

  });

我已经检查过,它正在从前端获取信息,而且我在另一个应用程序中使用了几乎相同的代码(其中没有包含在 module.exports = function(app, express) { }

最佳答案

您需要使用以下命令安装express-validator

npm install express-validator

然后添加

var expressValidator = require('express-validator');
api.use(expressValidator())

紧接着

var api = express.Router();

参见 TypeError: req.checkBody is not a function including bodyparser and expressvalidator module了解更多详情

关于javascript - TypeError : req. checkBody 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39173907/

相关文章:

javascript - 在 D3.js 中向动画饼图添加新分段

node.js - Mongodb find 查询花费太多时间

node.js - Express REST 服务器丢失来自 Ember-data PUT 的负载

node.js - Express/Heroku - 在服务器 Web 应用程序而不是客户端 Web 应用程序上设置 Cookie

express - Redis monitor 命令每秒显示相同的请求

javascript - React-ace 编辑器的 onBlur 事件没有返回值

javascript - b64toBlob() 仅返回大小和类型而不是完整图像数据

javascript - Baguettebox 不显示下一个/上一个步进器

javascript - 使用带有 requireJS 的 Node 包客户端?

javascript - Node Webkit - 另存为对话框,在 "Save as Type"字段上有多个选项