0.0.3 • Published 1 year ago

validator-is v0.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Descrition

validator-is: Simplify Your Validation and Swagger Documentation

validator-is is a powerful Javascript/TypeScript library that bridges the gap between class-validator and Swagger documentation. It provides a set of decorators that simultaneously validate your data using class-validator and generate corresponding Swagger/OpenAPI documentation.

Key Features:

  • Single decorator for both validation and API documentation
  • Seamless integration with class-validator and Swagger/OpenAPI
  • Type-safe and easy to use with TypeScript
  • Reduces code duplication and improves maintainability
  • Customizable validation rules and Swagger properties
  • Supports nested objects and complex data structures

Whether you're building a REST API or a full-stack application, validator-is simplifies your development process by unifying data validation and API documentation in one step. Say goodbye to inconsistencies between your validation logic and API specs, and hello to a more efficient, error-free development experience.

Compatible with NestJS Frameworks. MIT Licensed.

Installation

$ npm install validator-is

Using Example

import { Is } from 'validator-is';

export class CreateUserDto {
  // Type: number, Required: true, Description: User ID
  @Is('number', true, 'User ID')
  userId: number;

  // Type: string, Required: false, Description: User Nickname
  @Is('string', false, 'User Nickname')
  nickname: string;
}

swagger

class-validator

Request

curl -X 'POST' \
  'http://localhost:3003/api/v1/user' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "nickname": "string"
}'

Response

{
  "statusCode": 400,
  "message": [
    "userId should not be empty",
    "userId must be a number conforming to the specified constraints"
  ],
  "error": "Bad Request"
}