1.0.1 • Published 7 years ago

@twostoryrobot/express-joi-middleware v1.0.1

Weekly downloads
1
License
UNLICENSED
Repository
github
Last release
7 years ago

express-joi-middleware

Middleware to validate request body or parameters against a Joi schema.

Usage

const Joi = require('joi')
const express = require('express')
const bodyParser = require('body-parser')
const validate = require('@twostoryrobot/express-joi-middleware')

const app = express()

const querySchema = Joi.object().keys({
  user: Joi.string().guid().required()
})

const bodySchema = Joi.object().keys({
  username: Joi.string().alphanum().min(3).required(),
  password: Joi.string().min(4).required()
})

app.use(bodyParser.json())
app.get('/user', validate.query(querySchema), getUser)
app.post('/user', validate.body(bodySchema), postUser)

API

query(schema)

Validates a request's query parameters against the supplied schema.

  • schema - A Joi schema

Example

const querySchema = Joi.object().keys({
  user: Joi.string().guid().required()
})

app.get('/user', validate.query(querySchema), getUser)

body(schema)

Validates a request's body against the supplied schema.

  • schema - A Joi schema

Example

const bodySchema = Joi.object().keys({
  username: Joi.string().alphanum().min(3).required(),
  password: Joi.string().min(4).required()
})

app.post('/user', validate.body(bodySchema), postUser)

Installation

npm install @twostoryrobot/express-joi-middleware

License

MIT