express-joi-validator

2.0.1 • Public • Published

express-joi-validator

Build Status

Simple validation middleware for express using the Joi validation suite.

Installation

npm install express-joi-validator

Dependencies

npm install joi

Usage

 
var Express = require('express');
var BodyParser = require('body-parser');
var ExpressJoi = require('express-joi-validator');
var Joi = require('joi');
 
var app = Express();
app.use(BodyParser.json());
 
// Use Joi to create your schemas
var querySchema = {
    query: {
        limit: Joi.number().default(10).min(10).max(100),
        offset: Joi.number().default(10).min(10).max(100)
    }
};
 
// Attach the validator like other middleware
app.get('/', expressJoi(querySchema), function (req, res, next) {
    // do something with req.query.limit & req.query.offset
    ...
});
 
// Use Joi to create your schemas
var bodySchema = {
    body: {
        name: Joi.string().required()
    }
};
 
// Attach the validator like other middleware
app.post('/', expressJoi(bodySchema), function (req, res, next) {
    // do something with req.body;
    ...
});
 
// Example error handler
app.use(function (err, req, res, next) {
    if (err.isBoom) {
         return res.status(err.output.statusCode).json(err.output.payload);
    }
});
 
 
 
app.listen(8080);

If a validation error occurs it will either be handled by your express error handling middleware or thrown.

Joi

Since this middleware is just a wrapper around the Joi validate method all the options are supported.

Running Tests

npm install
npm test

Package Sidebar

Install

npm i express-joi-validator

Weekly Downloads

887

Version

2.0.1

License

MIT

Unpacked Size

27.2 kB

Total Files

16

Last publish

Collaborators

  • imjoshholloway