前提・実現したいこと
ここに質問の内容を詳しく書いてください。
Node.js+ Express+ sqliteで会員登録ログインシステム付きのチャットアプリケーションを作っています。そこでexpressの機能のvalidationを使用して、その中のcheckというメソッドを使おうとプログラミングを書いたが、その機能はないとType errorがでます。これが出ないようにしたいです。ちなみにExpress-validatorなどの必要ファイルはインストール済みです。必要なモジュールもロード済みです。
そして、掲載しているコードは、ログインに必要な情報をpost送信したときの処理です。
発生している問題・エラーメッセージ
TypeError: req.check is not a function
該当のソースコード
javascript
1router.post('/',function(req,res,next){ 2 3var request = req; 4var response = res; 5req.check('name','name!!!').notEmpty(); 6req.check('mail','mail!!').notEmpty(); 7req.getValidationResult().then((result)=>{ 8 if(!result.isEmpty()){ 9 var content = '<ul class = "error">'; 10 var result_arr = result.array(); 11 for(var n in result_arr) { 12 content += '<li>' + result_arr[n].msg + '</li>' 13 } 14 content += '</ul>'; 15 var data = { 16 title: 'tin' 17 } 18 response.render('/',data); 19 }else{ 20 var nm = req.body.name; 21 var mail = req.body.mail; 22 User.query({where: {name: nm},andwhere: {mail: mail}}) 23 .fetch() 24 .then((model)=>{ 25 if(model == null){ 26 var data = { 27 title: 'retry', 28 content:'<p>名前!!</p>', 29 form: req.body 30 }; 31 response.render('index',data); 32 }else{ 33 request.session.login= model.attributes; 34 var data = { 35 content:'<p>login</p>', 36 form: req.body 37 }; 38 response.render('/',data); 39 }; 40}); 41} 42}) 43});
試したこと
再度、必要なファイルのインストール、など。
補足情報(FW/ツールのバージョンなど)
ex-gen-app@0.0.0
├── bookshelf@0.13.3
├── cookie-parser@1.4.3
├── debug@2.6.9
├── ejs@2.5.9
├── express@4.16.4
├── express-session@1.15.6
├── express-validator@3.1.3
├── http-errors@1.6.3
├── knex@0.12.9
├── morgan@1.9.1
├── socket.io@2.1.1
└── sqlite3@4.0.2