restify-validator

0.3.1 • Public • Published

restify-validator

A restify.js middleware for node-validator.

This is basically a copy of a gist by node-validator author chriso.

Installation

npm install restify-validator

Usage

var util = require('util'),
    restify = require('restify'),
    restifyValidator = require('restify-validator'),
    app = restify.createServer();
 
app.use(restify.bodyParser());
app.use(restify.queryParser());
app.use(restifyValidator);
 
app.post('/:urlparam', function(req, res) {
 
  req.assert('postparam', 'Invalid postparam').notEmpty().isInt();
  req.assert('getparam', 'Invalid getparam').isInt();
  req.assert('urlparam', 'Invalid urlparam').isAlpha();
 
  req.sanitize('postparam').toBoolean();
 
  var errors = req.validationErrors();
  if (errors) {
    res.send(500 ,'There have been validation errors: ' + util.inspect(errors));
    return;
  }
  res.json({
    urlparam: req.params['urlparam'],
    getparam: req.params['getparam'],
    postparam: req.params['postparam']
  });
});
 
app.listen(8888);

Which will result in:

$ curl -d 'postparam=1' http://localhost:8888/test?getparam=1
{"urlparam":"test","getparam":"1","postparam":true}

$ curl -d 'postparam=1' http://localhost:8888/t1est?getparam=1
There have been validation errors: [
  { param: 'urlparam', msg: 'Invalid urlparam', value: 't1est' } ]

$ curl -d 'postparam=1' http://localhost:8888/t1est?getparam=1ab
There have been validation errors: [
  { param: 'getparam', msg: 'Invalid getparam', value: '1ab' },
  { param: 'urlparam', msg: 'Invalid urlparam', value: 't1est' } ]

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.3.1
    18
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 0.3.1
    18
  • 0.3.0
    0

Package Sidebar

Install

npm i restify-validator

Weekly Downloads

18

Version

0.3.1

License

none

Last publish

Collaborators

  • cjroebuck