Skip to content

eggjs/egg-validate

Repository files navigation

egg-validate

NPM version build status Test coverage David deps Known Vulnerabilities npm download

Validate plugin for egg.

See parameter for more information such as custom rule.

Install

$ npm i egg-validate --save

Usage

// config/plugin.js
exports.validate = {
  enable: true,
  package: 'egg-validate',
};

Configurations

egg-validate support all parameter's configurations, check parameter documents to get more infomations.

// config/config.default.js
exports.validate = {
  // convert: false,
  // validateRoot: false,
};

Validate Request Body

// 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;

Extend Rules

  • app.js
app.validator.addRule('jsonString', (rule, value) => {
  try {
    JSON.parse(value);
  } catch (err) {
    return 'must be json string';
  }
});

Questions & Suggestions

Please open an issue here.

License

MIT