1.0.0 • Published 10 years ago

connect-flash-light v1.0.0

Weekly downloads
6
License
MIT
Repository
github
Last release
10 years ago

connect-flash-light

This is a dead simple approach to flashing data, connect-middleware style. It is completely unopinionated and highly-versatile. If you've got something you would like to live until the next request, this should do the trick.

Install

$ npm install connect-flash-light

Usage

Express 4.x

connect-flash-light uses the session to store flash messages. So first, you will need to include the session middleware, which in turn requires the cookieParser middleware.

var express      = require('express');
var cookieParser = require('cookie-parser');
var session      = require('express-session');
var flash        = require('connect-flash-light');

var app = express();

app.use(express.cookieParser());
app.use(express.session());
app.use(flash());

You can now use the req.flash() function to flash whatever you would like. To set messages, use the format req.flash(key, value). The value can be an valid JavaScript value. To retrieve a message, use the format req.flash(key).

A simple string value

app.get('/flash', function(req, res) {
  req.flash('msg', 'Your message was flashed!');
  res.redirect('/');
});

app.get('/', function(req, res) {
  res.render('index', { messages: req.flash('msg') });
});

Form Handling

app.post('/form', function(req, res) {
  // Pass the user input back
  req.flash('input', req.body);
  // Namespace messages, instead of just a simple string
  req.flash('msgs', {
    forms: {
      errors: {
        'There was a form error!'
      }
    }
  });
  res.redirect('/form');
});

app.get('/form', function(req, res) {
  var input = req.flash('input');
  var msgs = req.flash('msgs');
  res.render('form', {
    input: input,
    messages: msgs
  });
});

License

The MIT License

Copyright 2014 Elliot Fleming [http://elliotfleming.com](http://elliotfleming.com)