Validate plugin for egg.
See parameter for more information such as custom rule.
$ npm i egg-validate --save
// config/plugin.js
exports.validate = {
enable: true,
package: 'egg-validate',
};
egg-validate support all parameter's configurations, check parameter documents to get more infomations.
// config/config.default.js
exports.validate = {
// convert: false,
// validateRoot: false,
};
// app/controller/home.js
const Controller = require('egg').Controller;
class HomeController extends Controller {
async index() {
const { ctx, app } = this;
ctx.validate({ id: 'id' }); // will throw if invalid
// or
const errors = app.validator.validate({ id: 'id' }, ctx.request.body);
}
}
module.exports = HomeController;
- app.js
app.validator.addRule('jsonString', (rule, value) => {
try {
JSON.parse(value);
} catch (err) {
return 'must be json string';
}
});
Please open an issue here.