Need help finding rootcause of “TypeError: req.checkBody(…).optional(…).isDate is not a function”
I am trying to find the root cause of this error I am getting when using isDate() function as prescribed in your tutorial. Everything else works. Any pointers??
In /controllers/authorController.js I have this piece of code to create an author.
// Handle Author create on POST exports.author_create_post = function(req, res, next) { console.log("DEBUG: starting in exports.author_create_post"); req.checkBody('first_name', 'First name must be specified.').notEmpty(); //We won't force Alphanumeric, because people might have spaces. req.checkBody('family_name', 'Family name must be specified.').notEmpty(); req.checkBody('family_name', 'Family name must be alphanumeric text.').isAlpha(); **req.checkBody('date_of_birth', 'Invalid date').optional({ checkFalsy: true }).isDate(); req.checkBody('date_of_death', 'Invalid date').optional({ checkFalsy: true }).isDate(); .....
Everytime I try to add the author, it gets stuck on the isDate() function.
The error I get is "
> TypeError: req.checkBody(...).optional(...).isDate is not a function > at exports.author_create_post (/Users/MyComputer/Desktop/NodeJS/express-locallibrary-tutorial/controllers/authorController.js:47:81) > at Layer.handle [as handle_request] (/Users/MyComputer/Desktop/NodeJS/express-locallibrary-tutorial/node_modules/express/lib/router/layer.js:95:5) > at next (/Users/MyComputer/Desktop/NodeJS/express-locallibrary-tutorial/node_modules/express/lib/router/route.js:137:13) > at Route.dispatch (/Users/MyComputer/Desktop/NodeJS/express-locallibrary-tutorial/node_modules/express/lib/router/route.js:112:3) > at Layer.handle [as handle_request] (/Users/MyComputer/Desktop/NodeJS/express-locallibrary-tutorial/node_modules/express/lib/router/layer.js:95:5) > at /Users/MyComputer/Desktop/NodeJS/express-locallibrary-tutorial/node_modules/express/lib/router/index.js:281:22 > at Function.process_params (/Users/MyComputer/Desktop/NodeJS/express-locallibrary-tutorial/node_modules/express/lib/router/index.js:335:12) > at next (/Users/MyComputer/Desktop/NodeJS/express-locallibrary-tutorial/node_modules/express/lib/router/index.js:275:10) > at Function.handle (/Users/MyComputer/Desktop/NodeJS/express-locallibrary-tutorial/node_modules/express/lib/router/index.js:174:3) > at router (/Users/MyComputer/Desktop/NodeJS/express-locallibrary-tutorial/node_modules/express/lib/router/index.js:47:12) > at Layer.handle [as handle_request] (/Users/MyComputer/Desktop/NodeJS/express-locallibrary-tutorial/node_modules/express/lib/router/layer.js:95:5) > at trim_prefix (/Users/MyComputer/Desktop/NodeJS/express-locallibrary-tutorial/node_modules/express/lib/router/index.js:317:13) > at /Users/MyComputer/Desktop/NodeJS/express-locallibrary-tutorial/node_modules/express/lib/router/index.js:284:7 > at Function.process_params (/Users/MyComputer/Desktop/NodeJS/express-locallibrary-tutorial/node_modules/express/lib/router/index.js:335:12) > at next (/Users/MyComputer/Desktop/NodeJS/express-locallibrary-tutorial/node_modules/express/lib/router/index.js:275:10) > at /Users/MyComputer/Desktop/NodeJS/express-locallibrary-tutorial/node_modules/express/lib/router/index.js:635:15