2016-11-14 8 views
0

含む関数ではないことは関数ではありません、私はexpressvalidatorとbodyparserを含めましたと思った...例外TypeError:req.checkBody私はエラーreq.checkBodyを取得していますbodyparserとexpressvalidatorモジュール

ここでは私ですコード

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!') 

編集部を基準

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> 
ためのindex.htmlが含まれています私は取得しています

エラーが

TypeError: req.checkBody is not a function

+1

がindex.js' 'で明示-バリデータを含めるようにしてくださいです。 –

+0

試しましたが動作しませんでした。 –

+0

@ stdob--関数の動作を確認するために関数を直接挿入しましたが、同じエラーが発生しました –

答えて

2
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!" }); 

     }); 

    }); 
関連する問題