LoginSignup
1
1

More than 3 years have passed since last update.

[Node.js]Express Validatorが使えない??

Last updated at Posted at 2020-09-26

こちらの書籍を使ってNode.jsの学習をしてました。(ちなみに今回私が使用しているのは初版です)

Node.js超入門 第3版

Express Validatorが使えない??

そこで学習を進めていると、以下のエラーが吐かれました。

TypeError: validator is not a function
    at Object.<anonymous> (作業フォルダ/app.js:38:9)

validatorが関数ではありませんと言われてしまいました。

そこで該当するソースコードをチェックしてみます。

app.js
var validator = require('express-validator');

省略

app.use(validator()); //エラーの該当部分

validatorを利用する前には、requireでモジュールをロードして、変数validatorで定義しています。
スペルミスもないです。

なぜエラーが???

とそこで、この書籍はメルカリで購入した初版だったこともあり、誤字や古い情報がちょこちょこあるのを思い出しました。
それで以下から
正誤表
を確認すると

やっぱりあった!!

本書で使用している Express Validator は、現在 ver.6 となり、仕様が変更されているため、本書の記述の通りでは正常
に動作しなくなっています。
Express Validator をインストールする際、以下のようにして ver. 5 をインストールしてご利用下さい。
・既に最新版をインストールしている場合、アンインストール
npm uninstall express-validator
・ver.5 をインストール
npm install --save express-validator@5.3.1
引用:Node.js 超入門[第 2 版] 【正誤表】 - 秀和システム

そもそもアプリにインストールしていた、Express Validatorに原因がありました。

正誤表の通りに再度、Express Validatorをインストールして無事エラーは解決しました。

なるべく新しい書籍を選ぶようにしたいけど、新品は高くて...(もっと給料上げて~)

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1