Skip to content

eggjs/egg-validate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c4326d2 · Jan 21, 2020

History

24 Commits
Nov 23, 2016
Nov 3, 2016
Aug 30, 2018
Aug 30, 2018
Aug 3, 2018
Jul 17, 2016
Jul 17, 2016
Jul 22, 2016
Oct 24, 2019
Oct 17, 2018
Aug 3, 2018
Jan 21, 2020
Aug 30, 2018
Aug 30, 2018
Aug 3, 2018
Sep 4, 2018
Oct 17, 2018

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