1.2.7 • Published 4 years ago

@vp_solutions/validators v1.2.7

Weekly downloads
-
License
ISC
Repository
gitlab
Last release
4 years ago

Package provide you functionality for validate payloads in your project in easy and clear way.

Usage:

import {
  ArrayValidator,
  BooleanValidator,
  MongoIdValidator,
  NumberValidator,
  ObjectValidator,
  OneOfValidator,
  PayloadValidator,
  StringValidator,
} from '@vp_solutions/validators';
import { ValidationError } from '@vp_solutions/errors';

const validator = new PayloadValidator({
  array: {
    isRequiredKey: false,
    validator: new ArrayValidator({
      minLength: 1,
      maxLength: 10,
      itemsValidator: new ObjectValidator({
        id: {
          isRequiredKey: true,
          validator: new MongoIdValidator(),
        },
      }),
    }),
  },
  boolean: {
    isRequiredKey: false,
    validator: new BooleanValidator(),
  },
  string: {
    isRequiredKey: true,
    validator: new StringValidator({ minLength: 3, maxLength: 20 }),
  },
  oneOf: {
    isRequiredKey: true,
    validator: new OneOfValidator<number>([0, 1]),
  },
  number: {
    isRequiredKey: false,
    validator: new NumberValidator(),
  },
});

validator.validate({
  array: [
    { id: '5d47219ed9dc4105e680f538' }, // valid
    {},                                 // invalid
    1,                                  // invalid
  ],
  boolean: false,                       // valid
  string: '01',                         // invalid
  oneOf: '0',                           // invalid
  number: 1,                            // valid
}).then(() => {
  // Payload is valid, you can do your business logic
}).catch((err: ValidationError) => {
  // Payload is invalid, you got ValidationError
});
1.2.7

4 years ago

1.2.6

4 years ago

1.2.5

4 years ago

1.2.4

4 years ago

1.2.3

4 years ago

1.2.2

4 years ago

1.2.1

5 years ago

1.2.0

5 years ago

1.1.0

5 years ago

1.0.0

5 years ago