typescript-param-validator
TypeScript icon, indicating that this package has built-in type declarations

1.1.0 • Public • Published

Typescript runtime param validation

A library for runtime param validations using typescript decorators that works with class-validator library.

Useful when you need to validate parameter data coming from untyped source(i.e http body, and etc...) or when you need to perform complex validations on the input params.

Using the param validation decorator you can declare your validation on the type annotation and leave the validation work to class-validator

import { Validator, Validate } from 'typescript-param-validator';
import { IsDate, IsNotEmpty, MaxDate, IsEmail, Length } from 'class-validators';
 
class DataDto {
  @IsNotEmpty()
  @IsEmail()
  email: string;
  
  @Length(10, 200)
  @IsNotEmpty()
  description: string;
  
  @IsDate()
  @IsNotEmpty()
  @MaxDate(new Date())
  birthDate: Date;
}
 
class TestClass {
  @Validate()
  methodName(@Validator() data: DataDto) {
    
  } 
}
 
const instance = new TestClass();
 
// Will throw class-validator errors on runtime
instance.methodName({
  birthDate: new Date({
    description: '123',
    email: 'fakemail'
  })
});

/typescript-param-validator/

    Package Sidebar

    Install

    npm i typescript-param-validator

    Weekly Downloads

    44

    Version

    1.1.0

    License

    MIT

    Last publish

    Collaborators

    • scopsy