koa-json-schema
json schema validation middleware for koajs using AJV.
install
npm install --save koa-json-schema
usage
validate input as
const input = Object.assign({}, ctx.request.query, ctx.request.body, ctx.params);
const koa=require('koa')
const {middleware: validator} = require('koa-json-schema')
koa()
.use(validator(schema, options))
.use(function (ctx){
// do something with safe input
});
- schema: a valid json schema
- options: options to pass to AJV
if the input is not valid 422 error is thrown. the validation errors can be found as error.error_description
koa()
.use(async function (ctx, next){
try {
await next();
} catch(e){
if(e.status === 422){
console.log(e.error_description);
}
}
})
.use(validator(schema, options))
.use(function (ctx){
// do something with safe input
});