From 91a62e2808bdb17f787a5b234599c838d4fd5220 Mon Sep 17 00:00:00 2001 From: Waref Haque Date: Tue, 26 Jul 2016 00:13:04 -0400 Subject: search bar validation --- routes/index.js | 83 +++++++++++++++++++++++++++++++++++++-------------------- views/index.hbs | 28 ++++++++++++++++++- 2 files changed, 81 insertions(+), 30 deletions(-) diff --git a/routes/index.js b/routes/index.js index 347c91a..f71bc74 100644 --- a/routes/index.js +++ b/routes/index.js @@ -2,10 +2,10 @@ var dbFile = require("../node_simple.js"); var express = require('express'); var router = express.Router(); var csrf = require('csurf'); // Cross-Site Request Forgery prevention - +var express_validator = require("express-validator"); var csrfProtection = csrf(); router.use(csrfProtection); // router is protected - +router.use(express_validator); // Remove later var passport_file = require('../config/passport.js'); var bcrypt = require('bcrypt-nodejs'); @@ -13,7 +13,7 @@ var bcrypt = require('bcrypt-nodejs'); /* Render/GET homepage. */ router.get('/', function(req, res, next) { //addFirstAdmin(); - res.render('index'); + res.render('index', {csrfToken: req.csrfToken(), success: req.session.success, errors: req.session.errors}); req.session.errors = null; req.session.success = null; @@ -59,33 +59,59 @@ router.get('/user_solutions', function(req, res, next) { title: 'Thry of Computation' } ] */ + +router.get('/exams/', function(req,res,next){ + req.check('search','Course code should be between 6 and 20 characters').notEmpty().withMessage('Course code required').isLength({min: 6, max: 20}); + + var errors = req.validationErrors(); + if (errors){ + console.log(errors); + req.session.errors = errors; + req.session.success = false; + res.redirect('/'); + } +}); + router.get('/exams/:id', function(req, res, next) { - var minExamInfoArray = []; - dbFile.get_all_exams(req.params.id, function (exams) { - if (exams.length == 0){ - console.log("Nothing was found"); - } - else { - //console.log(exams); - //only pass over the information that is necessary for the exams page - for (var i = 0; i + +
@@ -7,7 +9,31 @@