# @unode/egg-validate

> validate for egg.js

Latest version **1.0.0** (published 2022-09-19) · MIT license · 0 weekly downloads

## Install

```sh
npm install @unode/egg-validate
pnpm add @unode/egg-validate
yarn add @unode/egg-validate
bun add @unode/egg-validate
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2022-09-19 |
| First published | 2022-09-19 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=8.0.0 |
| Dependencies | 1 |
| Unpacked size | 9.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | yanxin |
| Maintainers | uview |
| Keywords | egg, eggPlugin, egg-plugin |

## Links

- npm: https://www.npmjs.com/package/@unode/egg-validate
- Repository: https://github.com/eggjs/egg-egg-validatorjs
- Homepage: https://github.com/eggjs/egg-egg-validatorjs#readme
- Issues: https://github.com/eggjs/egg/issues
- npm.io page: https://npm.io/package/@unode/egg-validate

## Dependencies (1)

- [async-validator](https://npm.io/package/async-validator.md) ^4.2.5

## Recent versions

- 1.0.0 (latest) — 2022-09-19

## README

# egg-validate


本插件为`egg.js`适配的，基于[async-validtor](https://www.npmjs.com/package/async-validator)的插件。

## 依赖说明

### 依赖的 egg 版本

egg-validate 版本 | egg 1.x
--- | ---
1.x | 😁
0.x | ❌

### 依赖的插件

- async-validtor


## 开启插件

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

## 使用场景

由于`egg.js`官方的`egg-validate`基于[parameter](https://www.npmjs.com/package/parameter)，其功能较为简单，无法定义各种复杂的校验规则，以及自定义个性化的提示信息，所以我们基于[async-validator](https://www.npmjs.com/package/async-validator)构造了此插件。

## 详细配置

请到 [config/config.default.js](config/config.default.js) 查看详细配置项说明。

## 使用方法

- 插件被挂载到`ctx`的`validate`方法
- 更多校验规则详见[async-validator](https://www.npmjs.com/package/async-validator)，以下为基础演示：

```js
// controller/home.js

async index() {
    const rule = {
        email: {
            type: 'email',
            // 默认为false
            required: true
        }
    }
    const params = { 
        email: 'validate@gmail.com'
    }
    // 注意：方法为异步函数，需要前面加await
    // 如果校验错误，将会抛出错误，错误代码为422，可以在错误中间件中进行统一捕获
    await this.ctx.validate(rule, params)
}
```

## License

[MIT](LICENSE)

---
_Source: https://npm.io/package/@unode/egg-validate · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
