JSPM

  • Created
  • Published
  • Downloads 2702
  • Score
    100M100P100Q118522F
  • License MIT

Package Exports

  • next-validations

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (next-validations) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Welcome to next-validations 👋

Version Prerequisite License: MIT Twitter: jellydn

NextJS API Validations

🏠 Homepage

Demo

https://gyazo.com/bf4582f7b7aa0f0ae67c4cc337c4e974.gif

Prerequisites

  • node >=10
  • nextjs >= 9

Install

yarn add next-validations

Features

Usage

Validate custom API endpoint with Yup

yarn add yup next-validations
import { NextApiRequest, NextApiResponse } from 'next';
import { withValidation } from 'next-validations';
import * as yup from 'yup';

const schema = yup.object().shape({
  name: yup.string().required(),
});

const validate = withValidation({
  schema,
  type: 'Yup',
  mode: 'query',
});

const handler = (req: NextApiRequest, res: NextApiResponse) => {
  res.status(200).json(req.query);
};

export default validate(handler);

Validate custom API endpoint with fastest-validator

yarn add fastest-validator next-validations
import { NextApiRequest, NextApiResponse } from 'next';
import { withValidation } from 'next-validations';

const schema = {
  name: { type: 'string', min: 3, max: 255 },
  email: { type: 'email' },
  age: 'number',
};

const validate = withValidation({
  schema,
  type: 'FastestValidator',
  mode: 'body',
});

const handler = (req: NextApiRequest, res: NextApiResponse) => {
  res.status(200).json(req.body);
};

export default validate(handler);

Run tests

yarn test

Author

👤 Huynh Duc Dung

Show your support

Give a ⭐️ if this project helped you!

![support us](https://img.shields.io/badge/become-a patreon%20us-orange.svg?cacheSeconds=2592000)


This README was generated with ❤️ by readme-md-generator