Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Express Session Middleware
- app.use(session({
- secret: 'keyboard cat',
- resave: true,
- saveUninitialized: true,
- cookie: { secure: true }
- }));
- // Express Messages Middleware
- app.use(require('connect-flash')());
- app.use(function (req, res, next) {
- res.locals.messages = require('express-messages')(req, res);
- next();
- });
- // Express Validator Middleware
- app.use(expressValidator({
- errorFormatter: function(param, msg, value) {
- var namespace = param.split('.')
- , root = namespace.shift()
- , formParam = root;
- while(namespace.length) {
- formParam += '[' + namespace.shift() + ']';
- }
- return {
- param : formParam,
- msg : msg,
- value : value
- };
- }
- }));
- router.post('/register', function(req, res){
- const name = req.body.name;
- const email = req.body.email;
- const username = req.body.username;
- const password = req.body.password;
- const password2 = req.body.password2;
- req.checkBody('name', 'Name is required').notEmpty();
- req.checkBody('email', 'Email is required').notEmpty();
- req.checkBody('email', 'Email is not valid').isEmail();
- req.checkBody('username', 'Username is required').notEmpty();
- req.checkBody('password', 'Password is required').notEmpty();
- req.checkBody('password2', 'Passwords do not
- match').equals(req.body.password);
- let errors = req.getValidationResult();
- if(errors){
- res.render('register', {
- errors:errors
- });
- } else {
- let newUser = new User({
- name:name,
- email:email,
- username:username,
- password:password
- });
- bcrypt.genSalt(10, function(err, salt){
- bcrypt.hash(newUser.password, salt, function(err, hash){
- if(err){
- console.log(err);
- }
- newUser.password = hash;
- newUser.save(function(err){
- if(err){
- console.log(err);
- return;
- } else {
- req.flash('success','You are now registered and can log in');
- res.redirect('/users/login');
- }
- });
- });
- });
- }
- });
- .messages
- each type in Object.keys(locals.messages)
- each message in Object.values(locals.messages)
- div(class="alert alert-"+type) #{message}
- != messages('message', locals)
- if errors
- each error, i in errors
- div(class="alert alert-danger") #{error.msg}
Add Comment
Please, Sign In to add comment