koa-fluent-validation
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

koa-fluent-validation

npm Travis (.org) David

Fluent, functional, and extendable validation for Koa 2 body, params, and query. Built on validator for base validations and filters.

Installation

$ npm i koa-fluent-validation

Requirements

  • NodeJS >= 7.6
  • For validating parameters, koa-router's implementation is used with ctx.params.

Usage

Simple App Example

const Koa = require('koa');
const bodyparser = require('koa-bodyparser');
const { validation, v, f } = require('koa-fluent-validation');
 
const app = new Koa();
 
app.use(bodyparser());
app.use(validation());
 
app.use(async (ctx, next) => {
  try {
    await next();
  } catch (e) {
    if (e.status === 422) {
      ctx.body = ctx.validationErrors;
      return;
    }
 
    // ... some other handling here etc
  }
});
 
// simple post route
app.use(async (ctx, next) => {
  if (ctx.method !== 'POST') {
    ctx.throw(404);
    return;
  }
 
  ctx.validateBody(
    {
      firstName: v()
        .required()
        .string(),
      lastName: v()
        .required()
        .string(),
    },
    {
      firstName: f().trim(),
      lastName: f().trim(),
    },
  );
 
  // your code here
});
 
app.listen(8080);

Documentation

For documentation see the wiki!

TODO

  • [] Filter Tests

Readme

Keywords

none

Package Sidebar

Install

npm i koa-fluent-validation

Weekly Downloads

9

Version

1.0.0

License

MIT

Unpacked Size

42.4 kB

Total Files

23

Last publish

Collaborators

  • technicallyjosh