egg.js 24.18参数验证
原创
©著作权归作者所有:来自51CTO博客作者2019ab的原创作品,请联系作者获取转载授权,否则将追究法律责任
如下是我的代码
我们需要先下载一个插件
其次我们修改config中的两个文件
config.js
// 添加一个
// config/plugin.js
exports.valparams = {
enable : true,
package: 'egg-valparams'
};
config.defult.js
// config/config.default.js
exports.valparams = {
locale : 'zh-cn',
throwError: true
};
参数验证参考网址
文件在app/module/error_handle.js
module.exports = ()=>{
return async function errorHandle(ctx,next){
try{
await next();
}catch(error){
// 错误日志
// ctx.app.emit('error',error,ctx);
ctx.status = error.status;
// 判断参数类型
if(ctx.status === 422){
return ctx.body = {
msg:'fail',
data:error.errors
}
}
ctx.body={
msg:'fail',
data:error.mssage
}
}
}
}
还有,app/controller/user.js文件中
async create() {
const {ctx} = this;
// ctx.validate({
// username : {type: 'string', required: false, defValue: 'account', desc: '系统名称'},
// password : {type: 'string', required: true, desc: 'token 验证'},
// sex: {type: 'string', required: false, desc: '登录跳转'}
// });
let params = ctx.request.body;
// 验证参数
ctx.validate({
username : {type: 'string', required: true, desc: '用户名'},
password : {type: 'string', required: true, desc: '密码'},
sex: {type: 'string', required: true, desc: '性别'}
});
// 写入数据库
}
下图是我调试的截图
感谢大家观看,我们下次见