使用 koa-bouncer中间件对传入的数据进行验证

const bouncer = require('koa-bouncer');
app.use(bouncer.middleware());const val = async (ctx, next) => {ctx.validateBody('name').required('要求提供用户名').isLength(6, 16, '用户名长度应该为6~16').isString().trim()next();
}router.post('/', val, ctx => {console.log('POST /users');const { body: user } = ctx.request;user.id = users.length + 1; // 自增users.push(user);ctx.body = {ok: 1}
});
  • 说明:
    ctx.validateBody:之所以可以使用,是因为,在上面配置了const bouncer = require('koa-bouncer')app.use(bouncer.middleware())

    当提交的名字长度不在6~16时,后台会报错如下:

koa --- koa-bouncer验证相关推荐

  1. Koa 2 基础(仿知乎)

    Koa 2 基础 接口文档 Postman仿知乎在线测试 REST 简介 REST是什么 REST是Resource Representational State Transfer的缩写,是一种Web ...

  2. Koa 中间件使用之 koa-jwt

    Koa 中间件使用之 koa-jwt koa-jwt 是 koa 的一个验证 JSON Web Tokens 的中间件, 它可以将浏览器携带在请求里面的 token 获取出来进行验证, 并将验证之后的 ...

  3. koa 基础入门与源码学习

    Koa 学习笔记 本期内容主要为 koa 基础与源码学习,后续会开一期 koa 项目实战.本文基础部分目录结构按照阮一峰老师的 koa 教程(有作修动).望本文能对您有所帮助!☀️ 前置基础 node ...

  4. koa源码阅读之koa-compose/application.js

    koa源码阅读之koa-compose/application.js koa-Compose 为了理解方便特地把注释也粘进来 //这英语.我也来翻译一波 //大概就是把所有的中间件组合返回一个完整大块 ...

  5. Koa与Node.js开发实战(1)——Koa安装搭建(视频演示)

    2019独角兽企业重金招聘Python工程师标准>>> 学习架构: 由于Koa2已经支持ES6及更高版本,包括支持async方法,所以请读者保证Node.js版本在7.6.0以上.如 ...

  6. Koa 还是 Express

    为什么80%的码农都做不了架构师?>>>    先放一些别人写的 http://yemista.com/koa-js-vs-express-js-which-one-better-f ...

  7. koa 接口返回数据_koa+node基础搭建到实现api接口

    初始koa koa是一个新的web框架,基于nodejs平台,koa没有捆绑任何中间件,而是提供了一套优雅的函数库,帮助您快速而愉快的编写服务端应用程序. 一个demo带你了解koa

  8. 【Cxinny】Koa

    Koa 致力于成为web应用和API开发领域中的一个更小.更富有表现力.更健壮的基石 中文官网 Koa (koajs) -- 基于 Node.js 平台的下一代 web 开发框架 | Koajs 中文 ...

  9. koa框架(一) 认识koa

    koa ​koa是express原班人马打造的轻量.健壮.富有表现力的nodejs框架.目前koa有koa1和koa2两个版本:koa2依赖Node.js 7.6.0或者更高版本:koa不在内核方法中 ...

  10. 浅析koa路由及其中间件

    文章目录 Koa路由 什么是路由? 路由的安装 路由的匹配 koa动态路由 中间件 什么是中间件 中间件的功能 应用级中间件 路由中间件 错误机制处理中间件 koa中间件的执行顺序--洋葱模型 Koa ...

最新文章

  1. java 中策略模式_JAVA中的策略模式
  2. mysql的proxy机制_MySQL Proxy工作机制浅析
  3. Maven坐标和依赖(三)
  4. DEBUGnbsp;设置监视点:判断变量值
  5. java-mybatis环境搭建
  6. C语言socket设置超时的几种方法
  7. SpringBoot各类型参数解析原理(源码)
  8. 源码学习【HashMap第二篇】hashMap为什么size 是2的 n次方倍
  9. php模块化安装教程,homestead安装php 扩展 教程
  10. JAVA:Java二维数组处理-Bit型转Bitmap
  11. 如何在 Cypress 测试代码中屏蔽(Suppress)来自应用代码报出的错误消息
  12. js框架页弹出页面关闭
  13. Matlab里evalin和assignin的用法
  14. SCPPO(二十一):系统统一身份认证的改造之路(续)
  15. koa2 mysql项目教程_blogs: Node.js + Koa2 + MySQL + Vue.js 实战开发一套完整个人博客项目网站...
  16. 遥感原理与应用读书笔记(遥感平台、遥感传感器)
  17. 处理MathType的兼容问题(下)
  18. 科沃斯扫地机器人无语音提示_科沃斯扫地机器人语音功能,科技or鸡肋?
  19. 世界坐标系、相机坐标系、图像坐标系、像素坐标系
  20. html 语言 背景颜色,如何在HTML中设置背景颜色?

热门文章

  1. linux mint图标大小,Cinnamon:LinuxMint 15桌面设置小技巧
  2. python添加时间戳_在python中添加时间戳
  3. java 什么时候依赖注入_玩框架java依赖注入 – 何时使用单例
  4. python pandas缺失值处理_Pandas之缺失值处理
  5. android新架构,Android新架构组件 LifeCycles 简介
  6. Python函数之 ceil, floor,round
  7. 对js数组去重的研究
  8. synchronize原理
  9. shop--12.阿里云部署以及域名绑定
  10. mysql数据库删除一条数据后还想让新增数据从空缺id处开始