Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

simple-express-validator

Package Overview
Dependencies
Maintainers
1
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

simple-express-validator

Ready to use validator and helper middlewares for express js.

  • 4.0.11
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
27
increased by1250%
Maintainers
1
Weekly downloads
 
Created
Source

#Validator for express js

This provides basic validation middleware, it will help reduce redundancy in the code.

##Available methods

  • bodyMustHave
    • Checks if body contains selected params
    • Usage: bodyMustHave('password username')
  • queryMustHave
    • Checks if query contains selected params
    • Usage: queryMustHave('password username')
  • toInts
    • Attempts to convert selected params in query/body to integers
    • Usage: toInts('skip limit')
  • escapeBody
    • Escapes selected params in body
    • Usage: escapeBody('username')
  • escapeQuery
    • Escapes selected params in query
    • Usage: escapeQuery('type')
  • isIn
    • Checks if a parameter is in array, useful for enums
    • Usage: isIn('body.NY', ['NY', 'LA']) the function will check req.body.NY
    • You can add a message in the third optional parameter, isIn isIn('body.NY', ['NY', 'LA'], 'City is not supported')
  • inRange
    • Checks if a parameter is between a given [min, max] values
    • Usage: inRange('query.age', 20, 22) the function will check req.query.age
  • objectifyRequestData
    • Gets the properties mentioned in the given params from req.body, req.query, and req.params and dumps them in req.data
    • Usage: objectifyRequestData('username password email location.lat', false) the function will get: username, password, email, and location.lat (safely), from req.body, req.query, req.params, and copy them to req.data.
    • the second field is optional, it defaults to false. If the second parameter was true, all the params must exist, otherwise next(err) will be called.
    • If one of the given params is found in multiple locations of the following: req.body, req.query, req.params, the middleware will call next(err).
    • You can chain call objectifyRequestData, useful if only a portion of your data is required.
  • HTTPError
    • Helper for return error responses/messages

##Installation

npm install simple-express-validator

##Usage

var express = require('express');
var app = express();

var bodyParser = require('body-parser');
app.use(bodyParser.json());

var expressValidator = require('express-validator');
app.use(expressValidator());

var bodyMustHave = require('validator').bodyMustHave;

app.post('/', bodyMustHave('username password'), function(req, res, next){
    // code that uses req.body.username and req.body.password
    return res.status(204).end();
});

// error handlers
app.use(function (err, req, res, next) {
    res.status(err.status || 500);
    res.send({
        message: err.message,
        error: {}
    });
});

app.listen(3000);

##Testing

npm test

Keywords

FAQs

Package last updated on 25 Jul 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc