An egg plugin for validating parameters, Forked from egg-validate, And added two built-in custom rules for object and array
See parameter for more information such as custom rule.
# use pnpm
$ pnpm install egg-plugin-validate
# use yarn
$ yarn add egg-plugin-validate// {app_root}/config/plugin.js
exports.validate = {
enable: true,
package: 'egg-plugin-validate'
}egg-plugin-validate support all parameter's configurations, check parameter documents to get more information.
// {app_root}/config/config.default.js
exports.validate = {
// convert: false,
// validateRoot: false,
}// {app_root}/app/controller/home.js
const { Controller } = require('egg')
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_root}/app.js
app.validator.addRule('object', (rule, value) => {
try {
JSON.parse(value)
} catch (err) {
return 'must be json string'
}
})Please open an issue here.