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

1.1.2 • Public • Published

Config module

Simple module for data validation. It is a standalone piece of code that does not require any other node modules.

Installation

In your project folder run:

npm install --save node-validator-tool

Note: The module code uses few ES6 features, so at least 4.4.5 version of Node is required.

Usage

First you need to include the module and optionally configure it.

const validator = require("node-validator-tool").create();

Require the module and call create factory function with no argument. If the rules parameter is passed, the validator tries to add custom validation rules (see below).

const userValidator = require('node-validator-tool').create({
    "name_length": (name) => name.length > 3,   // lambda
    "name_format": /^[A-Z][a-z]+$/, // RegExp
});

As you can see, the validation rule has a name and a validator Function, RegExp or String "named validator". Any other type causes an Error to be thrown. Validator module supports few validation rules called named validators by default (see the source).

Using the validator module is simple:

userValidator.addRule("adult", (age) => age > 18); // adding new rule

userValidator.hasRule("adult"); // true

userValidator.validate(17, "adult"); // false

userValidator.validate(17, "number"); // true, using default named validation rule

userValidator.removeRule("adult") // removing rule on-the-fly

Validator module can be used to validate not only single values, but whole objects too. Just initialize the module with a dictionary of rules that corresponds to tested object properties.

const validator = require('node-validator-tool').create({
    "name": "text",    
    "age": (age) => age > 18,
    "social.nick": /^[A-Z][a-z]+$/,  // object travsersing
    "local.id": "number"
});

const user = {
    "name": "Jon",
    "age": 15,
    "social": {
        "nick": "Jonaz"    
    },
    "local.id": 112
};

const result = validator.validateAll(user);
const errors = validator.hasErrors() ? validator.getErrors() : null;

Issues

Since the github repo is not ready yet, please use my email address in profile to contact me. Cheers!

Package Sidebar

Install

npm i node-validator-tool

Weekly Downloads

9

Version

1.1.2

License

ISC

Last publish

Collaborators

  • ok3x