egg-validate
本插件为egg.js
适配的,基于async-validtor的插件。
依赖说明
依赖的 egg 版本
egg-validate 版本 | egg 1.x |
---|---|
1.x | |
0.x |
依赖的插件
- async-validtor
开启插件
// config/plugin.js
exports.validate = {
enable: true,
package: 'egg-validate',
};
使用场景
由于egg.js
官方的egg-validate
基于parameter,其功能较为简单,无法定义各种复杂的校验规则,以及自定义个性化的提示信息,所以我们基于async-validator构造了此插件。
详细配置
请到 config/config.default.js 查看详细配置项说明。
使用方法
- 插件被挂载到
ctx
的validate
方法 - 更多校验规则详见async-validator,以下为基础演示:
// controller/home.js
async index() {
const rule = {
email: {
type: 'email',
// 默认为false
required: true
}
}
const params = {
email: 'validate@gmail.com'
}
// 注意:方法为异步函数,需要前面加await
// 如果校验错误,将会抛出错误,错误代码为422,可以在错误中间件中进行统一捕获
await this.ctx.validate(rule, params)
}