Naughty Programmer's Madness
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    express-validate-requestspublic

    Express Validate Requests

    Build Status

    QuickStart

    The following MIDDLEWARE (app.use(fn)) methods are included:

    • sanitizeRequest(req, res, next)
    • allowJustXHR(req, res, next)
    • allowJustJsonRequests(req, res, next)
    • allowXOrigin(req, res, next)

    If the validation fails then an next(error) will be called. You should set up an error catcher as your last piece of middleware as a catchall for any errors.

    The following helper fns are included:

    • checkGotAllParams(params:{@Object}, requiredParamsKeys:{@Array})

    Full Example

    var express     = require('express'),
        app         = express(),
        valExpress  = require('express-validate-requests'),
        middle  = valExpress.middleware,
        helpers = valExpress.helpers,
        allowedHosts = ["api.domainx.com", "www.domainx.com"],
        allowedOrigins = ["http://domainx.com", "http://www.domainx.com"];
     
    app.configure(function() {
        app.use(middle.allowJustXHR);
        app.use(middle.onlyAllowJsonRequests);
        app.use(middle.sanitizeRequest);
     
        // middle.setAllowCrossOrigin returns fn(req, res, next)
        app.use(middle.setAllowCrossOrigin(allowedHosts, allowedOrigins));
    });
     
    app.get('/someroute', function (req,res,next) {
        var requiredParamsKeys = ["paramOneKey", "paramTwoKey"];
        if (!helpers.checkGotAllParams(req.query, requiredParamsKeys)) {
            next(new Error('invalid params'));
        } else {
            next();
        }
    });
     
    //... error catcher at very bottom
    app.configure('development', function() {
        app.use(express.errorHandler()); // built-in express error handler
    });
     
    // listen once configured everything
    http.createServer(app).listen(app.get('port'), function() {
        console.log("Express server listening on port: " + app.get('port'));
    });

    Keywords

    none

    install

    npm i express-validate-requests

    Downloadsweekly downloads

    8

    version

    1.1.2

    license

    none

    last publish

    collaborators

    • avatar