質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Socket.IO

Socket.IOはNode.js上で動くライブラリであり、すべてのブラウザとモバイルデバイスでリアルタイムのアプリを作動させる事を目的としています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Express

ExpressはNode.jsのWebアプリケーションフレームワークです。 マルチページを構築するための機能セットおよびハイブリッドのWebアプリケーションを提供します。

Q&A

1回答

329閲覧

Node.js+ Express+ sqliteのプログラムです。TypeErrorがでないようにしたいです。お願いします。

syosinsya0512

総合スコア12

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Socket.IO

Socket.IOはNode.js上で動くライブラリであり、すべてのブラウザとモバイルデバイスでリアルタイムのアプリを作動させる事を目的としています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Express

ExpressはNode.jsのWebアプリケーションフレームワークです。 マルチページを構築するための機能セットおよびハイブリッドのWebアプリケーションを提供します。

0グッド

0クリップ

投稿2018/11/15 14:51

編集2018/11/17 07:36

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

NozomuIkuta

2018/11/15 15:27

express-validatorのバージョンは何ですか?
syosinsya0512

2018/11/16 12:45

申し訳ないです。5.3.0です。
guest

回答1

0

express-validatorはv4からAPIが変更されています。
日本語の記事を見つけたので、参考までに確認してみてください(ちなみに「express-validator」とだけGoogle検索して2件目の結果です)。
記事の中にあるGithubのリンクも見てみると、新旧APIがソースコードとしてどう違うかもよりわかると思います。

投稿2018/11/16 15:02

NozomuIkuta

総合スコア1260

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

NozomuIkuta

2018/11/17 16:32

解決しそうでよかったです。 「解決済」の設定をしていただくと、他の方が質問を検索するときに区別がつきやすいのでお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問