基于 parameter 提供数据校验方法。
$ npm i egg-async-validate --save
// {app_root}/config/plugin.js
exports.asyncValidator = {
enable: true,
package: 'egg-async-validate',
};
// {app_root}/config/config.default.js
exports.asyncValidator = {
messages: {},
};
具体错误信息文本模板,详情见async-validator#messages。
// {app_root}/app/controller/home.js
exports.index = async ctx => {
// 验证不通过,将抛出错误
await ctx.validate({
data: { type: 'object', required: true },
}, {
data: '1',
});
// 如果你想获取验证不通过的信息
// 使用 try { ... } catch (err) { ... } 来获取
// 下面是例子
try {
await ctx.validate({ data: { type: 'object', required: true } }); // validate target, default to `this.request.body`
} catch (err) {
const errors = err.errors;
}
};
验证规则详见 async-validator#rules。
!!重要: type
中的 method
,date
,hex
不适用与服务端表单验证。