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

0.4.2 • Public • Published

validator.js — fluent edition 🎉

NPM Version NPM Downloads TypeScript Donate Discord

Validation library based on validator.js (✭17k) that provides a strongly typed (TypeScript) fluent API for user input validation and sanitization.

Getting Started

$ npm install validator validator-fluent
import { validate, ValidationError } from "validator-fluent";
const input = {
  givenName: "John",
  familyName: "Doe",
  email: "john@example.com",
  phone: "(555) 555-55-55",
  age: "18",
};

// Do not validate empty fields (validation only)
const dryRun = true;

const [data, errors] = validate(input, (value) => ({
  given_name: value("givenName")
    .notEmpty({ if: !dryRun })
    .isLength({ min: 3, max: 25 }),

  family_name: value("familyName")
    .notEmpty({ if: !dryRun })
    .isLength({ min: 1, max: 25 }),

  email: value("email").notEmpty().isEmail(),

  phone: value("phone").isMobilePhone({ locale: "en-US" }),

  age: value("age").toNumber(),
}));

if (Object.keys(errors).length > 0)) {
  throw new ValidationError(errors);
}

if (!dryRun) {
  await db.table("customer").insert(data);
}

For the full list of available validation rules please refer to:

https://github.com/validatorjs/validator.js#validators

Related Projects

How to Contribute

Please create a PR or send me a message on Discord.

License

Copyright © 2021-present Kriasoft. This source code is licensed under the MIT license found in the LICENSE file.


Made with by Konstantin Tarkus (@koistya, blog) and contributors.

Package Sidebar

Install

npm i validator-fluent

Weekly Downloads

163

Version

0.4.2

License

MIT

Unpacked Size

15.6 kB

Total Files

7

Last publish

Collaborators

  • koistya