1.8.3 • Published 1 year ago

@skhail/validation v1.8.3

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

Introduction

@skhail/validation provides a middleware for validating parameters for service methods.

Set it up

import Joi from "joi";
import { ValidationMiddleware } from "@skhail/validation";

class MyService extends SkhailService {
  static middlewares = [
    new ValidationMiddleware({
      create: [Joi.string().required(), Joi.boolean()],
    }),
  ];

  list() {
    // ...
  }
  create(name: string, done: boolean = false) {
    // ...
  }
}

With this configuration, no validation is done when calling the list method. But validation is done on the create method

Alternatively you can provide a function to validate the params:

import Joi from "joi";
import { ValidationMiddleware, ValidationError } from "@skhail/validation";

class MyService extends SkhailService {
  static middlewares = [
    new ValidationMiddleware({
      create: (name: string, done?: boolean) => {
        const errors: ValidationError[] = [];

        if (name === "") {
          errors.push(new ValidationError("Name is required", 0));
        }

        return errors;
      },
    }),
  ];

  list() {
    // ...
  }
  create(name: string, done: boolean = false) {
    // ...
  }
}

If the validation method return an empty array then the validation succeed. Else, it fails.

1.8.2

1 year ago

1.8.3

1 year ago

1.8.1

1 year ago

1.8.0

1 year ago

1.7.1

1 year ago

1.7.0

1 year ago

1.6.1

1 year ago

1.6.0

1 year ago

1.5.0

1 year ago

1.4.0

1 year ago

1.3.0

1 year ago

1.2.0

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

0.1.8

2 years ago

0.1.7

2 years ago

0.1.6

2 years ago

0.1.5

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

1.1.6

2 years ago

1.1.5

2 years ago

1.1.4

2 years ago

2.0.0

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.0

2 years ago