如下是我的代码
我们需要先下载一个插件
npm i egg-valparams
其次我们修改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: '性别'} }); // 写入数据库 }
下图是我调试的截图
感谢大家观看,我们下次见