美文网首页初见
eggjs的参数校验模块egg-validate的使用

eggjs的参数校验模块egg-validate的使用

作者: w晚风 | 来源:发表于2020-06-16 15:43 被阅读0次

    简单讲一下这个egg-validate

    egg-validate是基于parameter的。

    官网地址 https://cnpmjs.org/package/egg-valparams

    安装

    npm i egg-valparams --save
    

    如何使用

    // config/plugin.js
    exports.valparams = {
      enable : true,
      package: 'egg-valparams'
    };
    
    // config/config.default.js
    exports.valparams = {
        locale    : 'zh-cn',
        throwError: false  // 表示是否开启参数验证
      };
    

    基本用法

    class XXXController extends app.Controller {
      // ...
      async XXX() {
        const {ctx} = this;
        ctx.validate({
          system  : {type: 'string', required: false, defValue: 'account', desc: '系统名称'},
          token   : {type: 'string', required: true, desc: 'token 验证'},
          redirect: {type: 'string', required: false, desc: '登录跳转'}
        });
        // if (config.throwError === false)
        if(ctx.paramErrors) {
          // get error infos from `ctx.paramErrors`;
        }
        let params = ctx.params;
        let {query, body} = ctx.request;
        // ctx.params        = validater.ret.params;
        // ctx.request.query = validater.ret.query;
        // ctx.request.body  = validater.ret.body;
        // ...
        ctx.body = query;
      }
      // ...
    }
    

    至于具体用法这为大佬写的还算清楚
    https://blog.csdn.net/le_17_4_6/article/details/94611179

    相关文章

      网友评论

        本文标题:eggjs的参数校验模块egg-validate的使用

        本文链接:https://www.haomeiwen.com/subject/cnhrxktx.html