节点ExpressJS输入验证

时间:2013-06-18 04:24:10

标签: node.js validation express

我正在使用节点0.10.8和expressJS 3.2.5。

我安装了express-validator:

npm install express-validator

app.js

var express = require('express')
  , i18n = require('i18next')
  , routes = require('./routes')
  , user = require('./routes/user')
  , http = require('http')
  , path = require('path');
  , expressValidator = require('express-validator');

....  

app.set('port', process.env.PORT || 3000);
app.use(i18n.handle);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(expressValidator);
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));

...

问题是任何页面都不会在浏览器中加载。删除expressValidator = require('express-validator')app.use(expressValidator);后,应用程序即可运行。

我使用的版本和其他模块是否有任何冲突?

由于

1 个答案:

答案 0 :(得分:1)

expressValidator是一个返回中间件函数的函数。

所以你需要使用:

app.use(expressValidator());