Intereting Posts
Как просмотреть запрос, отправленный с узла.js на сервер? sails.js v0.10 создать новый проект –linker не работает Gruntfile.js не используется Как получить путь к файлу в пакете Meteor? Запрос express-почты дает ERR_EMPTY_RESPONSE Socket.IO: как удалить пространство имен? Может ли веб-приложение, размещенное на iisnode, работать с виртуальным путем, на котором он размещен? Mongoose – форма для сохранения модели со встроенными документами Ссылка на статические файлы из шаблона Jade, отображаемого с подкаталога Явное сцепление с lodash не связано с быстрым соединением Puppeteer – Как подключить WSEndpoint с помощью локального IP-адреса? Как создать именованный канал в node.js? Browserify разрешает один и тот же файл несколько раз Запись двоичных данных с помощью node.js fs.writeFile для создания файла изображения Nodemailer с Gmail «От: адрес» не изменяется Express JS использует функцию async для запросов

TypeError: req.checkBody не является функцией

Я пытаюсь выполнить некоторую проверку в системе регистрации, но я получаю ошибку:

TypeError: req.checkBody is not a function 

из следующего кода:

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

Я проверил и получаю информацию с передней стороны, и у меня была почти такая же работа кода в другом приложении (где не было завершено в module.exports = function (app, express) {}

Вам необходимо установить express-validator используя следующую команду:

 npm install express-validator 

затем добавьте

 var expressValidator = require('express-validator'); api.use(expressValidator()) 

незамедлительно после

 var api = express.Router(); 

См . TypeError: req.checkBody не является функцией, включая модуль bodyparser и expressvalidator для более подробной информации.

Как и в приведенном выше ответе, после установки express-validator, добавление

 server.use(expressValidator()); 

под

 const express=require("express"); 

а также

 const server=express(); 

решил мою проблему.