Koa2 请求参数校验中间件, 基于 easy-object-validator 校验
npm i -S koa-params-validator
- Node >= 7.6
- Koa >= 2.0
const validator = require('koa-params-validator')
const app = new require('koa')();
// validator() 返回一个Koa2中间件方法,未通过校验的将返回 500 状态码
app.use(validator({
query: {
keyword: validator.string().isRequire()
},
body: {
data: validator.arrayOf(validator.object())
}
}))
// 在路由中使用
route.post('/login', validator({
body: {
username: validator.string().isRequire()
password: validator.string().isRequire()
}
}, {
statsu: 200,
state:{
success: false,
data: '用户名或密码不能为空'
}
}), (ctx) => {
// login...
})
校验规则的API与 easy-object-validator 完全一致,请直接参考其用法
- {Object}
options
校验规则,请参考 easy-object-validator - {Object}
invalidMixinContext
[可选] 未通过校验时将这个对象混合到Koa的context对象上,默认 status: 500, 默认 message: 'The parameter is invalid' - 返回一个Koa中间件