egg-validate-joi
egg 版 joi 插件. 支持params、query、body 参数校验,更友好的 error 提示。需要更新请提issues
依赖说明
依赖的 egg 版本
egg-validate-joi 版本 | egg 2.x |
---|---|
2.x | 😁 |
1.x | ❌ |
0.x | ❌ |
依赖的插件
安装
$ npm i egg-validate-joi --save
开启插件
// config/plugin.jsexportsvalidateJoi = enable: true package: 'egg-validate-joi';
详细配置
// {app_root}/config/config.default.jsexportsvalidateJoi = options: abortEarly: false // when true, stops validation on the first error, otherwise returns all the errors found. Defaults to true. ;
or
configvalidateJoi = options: abortEarly: false ;
请到 config/config.default.js 查看详细配置项说明。
使用例子
// {app_root}/app/router.js
module { const router controller = app; router; router;};
// {app_root}/app/controller/home.js
async { const ctx app = this; const Joi = app; const errors = ctx; if errors console; // if errors exist, errors is object, for example: // errors: { // 'body.id': '"id" must be a valid GUID', // 'body.name': '"name" must be a string', // 'body.email': '"email" must be a valid email', // } } async { const ctx app = this; const Joi = app; const errors = ctx; if errors console; // if errors exist, errors is object, for example: // errors: { // 'params.id': '"id" must be a valid GUID', // 'body.topicId': '"id" must be a valid GUID', // 'body.name': '"name" must be a string', // }}
单元测试
提问交流
请到 egg issues 异步交流。