{"_id":"@chandre/egg-validator","name":"@chandre/egg-validator","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@chandre/egg-validator","version":"1.0.0","description":"基于 [parameter](https://github.com/node-modules/parameter) 验证模块","eggPlugin":{"name":"validator"},"keywords":["egg","eggPlugin","egg-plugin"],"dependencies":{"parameter":"^3.6.0"},"devDependencies":{"autod":"^3.0.1","autod-egg":"^1.1.0","egg":"^2.16.0","egg-bin":"^4.11.0","egg-ci":"^1.11.0","egg-mock":"^3.21.0","eslint":"^5.13.0","eslint-config-egg":"^7.1.0"},"engines":{"node":">=8.0.0"},"scripts":{"test":"npm run lint -- --fix && egg-bin pkgfiles && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint .","ci":"egg-bin pkgfiles --check && npm run lint && npm run cov","pkgfiles":"egg-bin pkgfiles","autod":"autod"},"ci":{"version":"8, 10"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-validator.git"},"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-validator#readme","author":{"name":"chandre"},"license":"MIT","_id":"@chandre/egg-validator@1.0.0","_nodeVersion":"18.0.0","_npmVersion":"8.6.0","dist":{"integrity":"sha512-dLtRLuV7QIknHsM79dQ5NtO2hRmPr3UGDRR+UIF4lfrs7oPXL5+wXGj3ME6U2Mr4Vv2Nf85HE/lhnHqW+HHG1w==","shasum":"c68db4da4035d29ff33c61f996f40332e36419d0","tarball":"https://registry.npmjs.org/@chandre/egg-validator/-/egg-validator-1.0.0.tgz","fileCount":8,"unpackedSize":8218,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDa9ghtEsFNR0K79J/EpxwRGhNF7wGweXxqpgnwpCrf0QIhAP1k87vt0ggbk279HVTrZh6DcAb+RfCYj/NvhJtl7H7d"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJidi3dACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpMvQ//Xn73LQLmXzRxmOnw3QmITxO/frv3Nay40LnL/kHa7feLdTy4\r\nqQzcrN+znJJWTW8j/0LxpBYMn3HX1O++wC6MjrI5Z70rJP906NoYOkpQekfE\r\nT1ygjnzdH95oAV/+RrYaDu2ZSPXruS0vCSp+n/MjuZIKXM1njDkp+IoCuH0K\r\nVucpi1eEDKVPdEAAw8fK94cS8h5+Lqeob5WxkOUPEBmnlybaVkvhB/zorTXk\r\n0aC2WE1aR1b0mUcJicgcugHBUU8glnv3B3ZrhmGTMSoLzz8bIhXoV59h+A14\r\njIBNLTolw4l2R28EbN7ED44mct0n9vgq/lyyNafBj72lkzT1aZn/d4nF2ZGV\r\nlBzF4n0Ujzis8EHJIEzdkloOlEuuriHK1/zj7a2DhSkFXWMLxd+S2VpqNF6D\r\ni+tY2j6pmVhsy4yEzdtjRv2IJxafacG3bQ7WJg0rdH2PhoFcZkc1CK2WUv5y\r\naJC3+3iJVBCC+/ENWMpaQ1F0suvOTxZuVnfS83vyTNS9pVd2aaCk/lEouu2q\r\nOlumrG0W01MxkS9I5lAwdY3RXPmHO8CVM+U71BJlq4ekv2uNtuITT+qlIRTB\r\n5vAgbfG63MRDZjkxOeLAwy4jTm2l+k5eMqNkV61hS6N7peLhT9o8f5fcTYst\r\nFGoeaf2QKx5L4/+rz7HUtTEnRHegA3KVsCw=\r\n=aZoB\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"chandre","email":"chandre21cn@gmail.com"},"directories":{},"maintainers":[{"name":"chandre","email":"chandre21cn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-validator_1.0.0_1651912157139_0.26186474974530727"},"_hasShrinkwrap":false}},"time":{"created":"2022-05-07T08:29:17.085Z","1.0.0":"2022-05-07T08:29:17.275Z","modified":"2022-05-07T08:29:17.401Z"},"maintainers":[{"name":"chandre","email":"chandre21cn@gmail.com"}],"description":"基于 [parameter](https://github.com/node-modules/parameter) 验证模块","homepage":"https://github.com/eggjs/egg-validator#readme","keywords":["egg","eggPlugin","egg-plugin"],"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-validator.git"},"author":{"name":"chandre"},"bugs":{"url":"https://github.com/eggjs/egg/issues"},"license":"MIT","readme":"# @chandre/egg-validator\n基于 [parameter](https://github.com/node-modules/parameter) 验证模块\n\n<!--\nDescription here.\n-->\n\n## Install\n\n```bash\n$ npm i @chandre/egg-validator --save\n```\n\n## Usage\n\n```js\n// {app_root}/config/plugin.js\nexports.validator = {\n  enable: true,\n  package: '@chandre/egg-validator',\n};\n```\n## Validator Class Methods\n1. addRule(type, check) 添加验证规则\n2. validate(data, rules) 参数验证\n3. translate(args) 验证消息国际化\n\n## Example\n\n1. 自定义验证类型\n```js\n/** {app_root}/app/extend/validator.js */\nmodule.exports = app => {\n  alpha_dash(rule, value) {\n    if (!/^\\w+$/.test(value)) {\n      return 'only contain alpha-numeric characters and underscores';\n    }\n  },\n};\n```\n\n2. 定义验证类\n```js\n/** {app_root}/app/validator/User.js */\nconst Validator = require(\"egg\").Validator;\nclass UserValidator extends Validator {\n  // 验证方法\n  checkUserName(data) {\n    this.validate(data, {\n      username: {\n        type: 'alpha_dash'\n      }\n    })\n  }\n}\nmodule.exports = UserValidator;\n```\n\n3. 使用验证类\n```js\n/** {app_root}/app/controller/user.js */\nconst Controller = require(\"egg\").Controller;\nclass UserController extends Controller {\n  getUser() {\n    const ctx = this.ctx;\n    try {\n      const data = ctx.request.body;\n      // 验证参数\n      ctx.validator.User.checkUserName(data);\n      return data;\n    } catch(err) {\n      console.log(err)\n    }\n  }\n}\nmodule.exports = UserController;\n```\n## License\n\n[MIT](LICENSE)\n","readmeFilename":"README.md"}