2016-11-14 4 views
0

ich Fehler req.checkBody immer keine Funktion dachte ich expressvalidator und bodyparser aufgenommen haben ..Typeerror: req.checkBody ist keine Funktion einschließlich bodyparser und expressvalidator Modul

Hier ist mein 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 Teil index.html Referenz enthalten

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> 
Ich

Fehler bin immer ist

TypeError: req.checkBody is not a function

+1

Try express-Validator auf 'index.js' aufzunehmen. –

+0

Versucht, aber hat nicht funktioniert. –

+0

@ stdob-- Ich habe gerade die Funktion direkt eingefügt, um das Funktionieren der Funktion zu überprüfen, aber den gleichen Fehler zu bekommen –

Antwort

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

     }); 

    }); 
Verwandte Themen