@blubox/validation
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

Validation Middleware

A middleware for request body validation using schema validation libraries such as Zod or Yup.

Installation

npm install @your-namespace/validation-middleware

Usage

const { Controller } = require('blubox');
const { Schema as ZodSchema, ZodError } = require('zod');
const { Schema as YupSchema, ValidationError } = require('yup');
const validation = require('@blubox/validation');

// Define your Zod or Yup schema
const zodSchema = ZodSchema.object({
  name: ZodSchema.string(),
  age: ZodSchema.number(),
});

// Define middleware options
const validationOptions = {
  onError: error => {
    if (error instanceof ValidationError) {
      return JSON.stringify(error.errors);
    } else if (error instanceof ZodError) {
      return JSON.stringify(error.errors);
    } else {
      return error.message;
    }
  },
  statusCode: 400,
};

// Create the validation middleware
const validationMiddleware = validation(zodSchema, validationOptions);

const controller = new Controller()
controller.use(validationMiddleware)

Options

onError: Custom error handling function. Default is a function that formats errors into JSON strings. statusCode: HTTP status code to set on validation failure. Default is 400.

License

MIT

Package Sidebar

Install

npm i @blubox/validation

Homepage

bluboxs.com/

Weekly Downloads

1

Version

1.0.0

License

MIT

Unpacked Size

5.06 kB

Total Files

6

Last publish

Collaborators

  • gnzcode