TypeError:req.checkBody不是包含bodyparser和expressvalidator模块的函数 [英] TypeError: req.checkBody is not a function including bodyparser and expressvalidator module

查看:141
本文介绍了TypeError:req.checkBody不是包含bodyparser和expressvalidator模块的函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



这是我的代码

这是我的代码

p>

  var express = require('express'); 
var bodyParser = require('body-parser');
var app = express();
var expressValidator = require('express-validator');

app.use(bodyParser.urlencoded({extended:true}));

app.get('/',function(req,res){
res.sendFile(__ dirname +'/ index.html')
});

app.post('/',function(req,res){
req.checkBody(name,Invalid company)。notEmpty();

var errors = req.validationErrors();
if(errors){
res.status(400).send({message:Missing parameter});
//存在验证错误:'+ util.inspect(errors),400);
return;
}
var company = new companySchema(req.body) ;
company.save(function(err){
if(err){
if(err.code === 11000){
return res.status(409))。 send({message:Company already exists!});
}
return res.status(400).send({message:Server Error!,err: );

返回res.status(200).send({message:新公司已添加! });

});

app.listen('3000');
console.log('listen on 3000!')

编辑部分是包含索引。 html for reference

index.html

 < html> 
< body>
< form method =postaction =http:// localhost:3000>
< label for =fname>公司名称< / label>
< input type =textid =fnamename =name>
< input type =submitvalue =提交>
< / form>
< / body>
< / html>

我得到的错误是


TypeError:req.checkBody不是函数


解决方案

  var express = require('express'); 
var bodyParser = require('body-parser');
var app = express();
var expressValidator = require('express-validator');

app.use(bodyParser.urlencoded({extended:true}));
app.use(expressValidator()); //这条线被添加

app.get('/',function(req,res){
res.sendFile(__ dirname +'/ index.html')
});

app.post('/',function(req,res){
req.checkBody(name,Invalid company)。notEmpty();

var errors = req.validationErrors();
if(errors){
res.status(400).send({message:Missing parameter});
//存在验证错误:'+ util.inspect(errors),400);
return;
}
var company = new companySchema(req.body) ;
company.save(function(err){
if(err){
if(err.code === 11000){
return res.status(409))。 send({message:Company already exists!});
}
return res.status(400).send({message:Server Error!,err: );

返回res.status(200).send({message:新公司已添加! });

});


I'm getting error req.checkBody is not a function thought I've included express-validator and body-parser..

Here is my code

var express = require('express');
var bodyParser = require('body-parser');
var app = express();
var expressValidator = require('express-validator');

app.use(bodyParser.urlencoded({ extended: true })); 

app.get('/',function(req,res){
    res.sendFile(__dirname +'/index.html')
});

app.post('/',function(req,res){
        req.checkBody("name", "Invalid company").notEmpty();

        var errors = req.validationErrors();
        if (errors) {
            res.status(400).send({ "message": "Missing parameter" });
            // res.send('There have been validation errors: ' + util.inspect(errors), 400);
            return;
        }
        var company = new companySchema(req.body);
        company.save(function(err) {
            if (err) {
                if (err.code === 11000) {
                    return res.status(409).send({ "message": "Company already exist!" });
                }
                return res.status(400).send({ "message": "Server Error!", "err": err });
            }

            return res.status(200).send({ "message": "New company has added!" });

        });

    });

app.listen('3000');
console.log('listening on 3000!')

Edited part is included index.html for reference

index.html

<html>
<body>
 <form method = "post" action="http://localhost:3000">
    <label for="fname">Company name</label>
    <input type="text" id="fname" name="name">        
    <input type="submit" value="Submit">
  </form>
</body>
</html>

Error I am getting is

TypeError: req.checkBody is not a function

解决方案

var express = require('express');
var bodyParser = require('body-parser');
var app = express();
var expressValidator = require('express-validator');

app.use(bodyParser.urlencoded({ extended: true })); 
app.use(expressValidator());  //this line to be addded

app.get('/',function(req,res){
    res.sendFile(__dirname +'/index.html')
});

app.post('/',function(req,res){
        req.checkBody("name", "Invalid company").notEmpty();

        var errors = req.validationErrors();
        if (errors) {
            res.status(400).send({ "message": "Missing parameter" });
            // res.send('There have been validation errors: ' + util.inspect(errors), 400);
            return;
        }
        var company = new companySchema(req.body);
        company.save(function(err) {
            if (err) {
                if (err.code === 11000) {
                    return res.status(409).send({ "message": "Company already exist!" });
                }
                return res.status(400).send({ "message": "Server Error!", "err": err });
            }

            return res.status(200).send({ "message": "New company has added!" });

        });

    });

这篇关于TypeError:req.checkBody不是包含bodyparser和expressvalidator模块的函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆