egg-input-regex-filter
Version:
filter data which from user side use regex, and returns a result data whose format is declared by coder.
112 lines (84 loc) • 2.92 kB
Markdown
[![NPM version][npm-image]][npm-url]
[![build status][travis-image]][travis-url]
[![Test coverage][codecov-image]][codecov-url]
[![David deps][david-image]][david-url]
[![Known Vulnerabilities][snyk-image]][snyk-url]
[![npm download][download-image]][download-url]
[]: https://img.shields.io/npm/v/egg-input-regex-filter.svg?style=flat-square
[]: https://npmjs.org/package/egg-input-regex-filter
[]: https://img.shields.io/travis/eggjs/egg-input-regex-filter.svg?style=flat-square
[]: https://travis-ci.org/eggjs/egg-input-regex-filter
[]: https://img.shields.io/codecov/c/github/eggjs/egg-input-regex-filter.svg?style=flat-square
[]: https://codecov.io/github/eggjs/egg-input-regex-filter?branch=master
[]: https://img.shields.io/david/eggjs/egg-input-regex-filter.svg?style=flat-square
[]: https://david-dm.org/eggjs/egg-input-regex-filter
[]: https://snyk.io/test/npm/egg-input-regex-filter/badge.svg?style=flat-square
[]: https://snyk.io/test/npm/egg-input-regex-filter
[]: https://img.shields.io/npm/dm/egg-input-regex-filter.svg?style=flat-square
[]: https://npmjs.org/package/egg-input-regex-filter
<!--
Description here.
-->
egg-input-regex-filter 版本 | egg 1.x
--- | ---
1.x | 😁
0.x | ❌
<!--
如果有依赖其它插件,请在这里特别说明。如
- security
- multipart
-->
```js
// config/plugin.js
exports.inputRegexFilter = {
enable: true,
package: 'egg-input-regex-filter',
};
```
```js
/**
* this plugin is a simple class, and You can use is as a simple tool class.
* it will return an object which has two attributes: retData, err
* see below:
*/
示例(sample ):
var obj = {name: 'dzhukf', age: 20 },
filter = {
name: [
{re: /{5,}/, errCode: -1, errMsg: '长度至少为5位'},
{re: /^z/, errCode: -2, errMsg: '必须以z开头'},
],
... more
}
运行(and run ): Filter.doFilter(obj, filter, false )
结果(sample return ) :
{
retData: {name: null, age: 20 },
err: {
name: [{errCode: -2, errMsg: '必须以z开头' }, ... maybe more ],
...maybe more if you defined more than one filter
}
}
Filter.doFilter(obj, filter )
/**
* use this plugin in egg.js, this plugin map its func as app.filterReg()
* use in controller/service , see below:
*
* let filterResult = this.app.filterReg(postDataObject, filterObject )
*
*/
```
请到 [config/config.default.js](config/config.default.js) 查看详细配置项说明。
<!-- 描述如何在单元测试中使用此插件,例如 schedule 如何触发。无则省略。-->
请到 [egg issues](https://github.com/eggjs/egg/issues) 异步交流。
[](LICENSE)