cra*_*eld 8 javascript node.js express
我正在尝试在注册系统中实现一些验证,但我收到错误:
TypeError: req.checkBody is not a function
Run Code Online (Sandbox Code Playgroud)
来自以下代码:
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
});
});
});
Run Code Online (Sandbox Code Playgroud)
我已经检查了,它从前端获取信息,我在另一个应用程序中有几乎相同的代码工作(其中没有包含在module.exports = function(app,express){}
Abh*_*ikh 14
您需要express-validator使用以下命令安装
npm install express-validator
Run Code Online (Sandbox Code Playgroud)
然后加
var expressValidator = require('express-validator');
api.use(expressValidator())
Run Code Online (Sandbox Code Playgroud)
之后立马
var api = express.Router();
Run Code Online (Sandbox Code Playgroud)
请参阅TypeError:req.checkBody不是包含bodyparser和expressvalidator模块的函数,以获取更多详细信息
| 归档时间: |
|
| 查看次数: |
17355 次 |
| 最近记录: |