1.0.0 • Published 2 years ago
@chandre/egg-validator v1.0.0
@chandre/egg-validator
基于 parameter 验证模块
Install
$ npm i @chandre/egg-validator --save
Usage
// {app_root}/config/plugin.js
exports.validator = {
enable: true,
package: '@chandre/egg-validator',
};
Validator Class Methods
- addRule(type, check) 添加验证规则
- validate(data, rules) 参数验证
- translate(args) 验证消息国际化
Example
- 自定义验证类型
/** {app_root}/app/extend/validator.js */
module.exports = app => {
alpha_dash(rule, value) {
if (!/^\w+$/.test(value)) {
return 'only contain alpha-numeric characters and underscores';
}
},
};
- 定义验证类
/** {app_root}/app/validator/User.js */
const Validator = require("egg").Validator;
class UserValidator extends Validator {
// 验证方法
checkUserName(data) {
this.validate(data, {
username: {
type: 'alpha_dash'
}
})
}
}
module.exports = UserValidator;
- 使用验证类
/** {app_root}/app/controller/user.js */
const Controller = require("egg").Controller;
class UserController extends Controller {
getUser() {
const ctx = this.ctx;
try {
const data = ctx.request.body;
// 验证参数
ctx.validator.User.checkUserName(data);
return data;
} catch(err) {
console.log(err)
}
}
}
module.exports = UserController;
License
1.0.0
2 years ago