• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

triestpa/koa-joi-validate: Tiny module to generate request validation middleware ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

triestpa/koa-joi-validate

开源软件地址:

https://github.com/triestpa/koa-joi-validate

开源编程语言:

JavaScript 100.0%

开源软件介绍:

Koa-Joi-Validate

A tiny module to provide Joi validation middleware within a Koa server.

Calling the module allows you to easily generate Koa middleware to validate incoming requests using Joi.

Install

npm install koa-joi-validate

Import

const validate = require('koa-joi-validate')

or

import validate from 'koa-joi-validate'

Usage

To use the module, call validate with an object containing Joi validation objects for the request headers, URL query, URL path params, and post body.

The following basic example will verify that any request to the server contains a properly formatted request ID header and user ID url query parameter.

const Koa = require('koa')
const joi = require('joi')
const validate = require('koa-joi-validate')

const app = new Koa()

app.use(validate({
  headers: {
    // Request headers Joi validation object
    "x-request-id": joi.string().alphanum().length(32)
  },
  query: {
    // URL query string Joi validation object
    userid: joi.string().required()
  },
  params: {
    // URL path parameters Joi validation object
  }
  body: {
    // POST body Joi validation object
  }
}))

app.use(async ctx => {
  ctx.body = 'Hello World';
});


app.listen(5000)

Here is another basic example, mounting a validator on a specific route using koa-router.

const router = new Router()

const loginValidator = validate({
  body: {
    username: Joi.string().required(),
    password: Joi.string().required()
  }
})

router.post('/login', loginValidator, async ctx => {
  const { username, password } = ctx.body
  const response = await login(username, password)
  ctx.body = response
})

For more examples of the (very powerful) validation capabilities of Joi, view the official documentation - https://github.com/hapijs/joi

If the validation fails, an HTTP 400 response will be returned to the client, along with a short human-readable error message explaining why the request was rejected.




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
zhaoxuyang/koala--Android-Plugin-Runtime-: Android插件平台发布时间:2022-07-09
下一篇:
mokagio/Swift-Koans: Learn Swift by making tests pass发布时间:2022-07-09
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap