Validate plugin for egg.
see async-validate for more information such as custom rule.
$ 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: {},
};
see async-validator#messages for more detail.
// {app_root}/app/controller/home.js
exports.index = async ctx => {
// will throw if invalid.
await ctx.validate({
data: { type: 'object', required: true },
}, {
data: '1',
});
// if you want to get errors info,
// use try { ... } catch (err) { ... } to get
// example
try {
await ctx.validate({ data: { type: 'object', required: true } }); // validate target, default to `this.request.body`
} catch (err) {
const errors = err.errors;
}
};
rules see async-validator#rules for more detail.
!!important:
method
,date
,hex
intype
does not apply to server - side form validation