2.0.1 • Published 10 years ago

tasdik v2.0.1

Weekly downloads
2
License
MIT
Repository
github
Last release
10 years ago

tasdik

Validate your variables against types.

Installation

$ npm install tasdik --save

Usage

const Tasdik = require('tasdik')

Built-in Validators

Tasdik.validate(undefined, 'defined'); // false
Tasdik.validate('tasdik', 'defined'); // true

Tasdik.validate(undefined, 'function'); // false
Tasdik.validate(function () {}, 'function'); // true
Tasdik.validate(() => {}, 'function'); // true

Tasdik.validate(undefined, 'boolean'); // false
Tasdik.validate(true, 'boolean'); // true
Tasdik.validate(false, 'boolean'); // true

Tasdik.validate(undefined, 'number'); // false
Tasdik.validate(1, 'number'); // true
Tasdik.validate(0, 'number'); // true
Tasdik.validate(-1, 'number'); // true

Tasdik.validate(undefined, 'string'); // false
Tasdik.validate('tasdik', 'string'); // true
Tasdik.validate(`tasdik`, 'string'); // true
Tasdik.validate(new String('tasdik'), 'string'); // true

Tasdik.validate(undefined, 'regexp'); // false
Tasdik.validate(/tasdik/, 'regexp'); // true

Tasdik.validate(undefined, 'object'); // false
Tasdik.validate({}, 'object'); // true

Tasdik.validate({}, 'hasProperty:tasdik'); // false
Tasdik.validate({tasdik: true}, 'hasProperty:tasdik'); //true

Tasdik.validate(undefined, 'array'); // false
Tasdik.validate([], 'array'); // true

Tasdik.validate([], 'hasChild'); // false
Tasdik.validate(['tasdik'], 'hasChild'); // true

Tasdik.validate(['tasdik', false], 'everyChildren:string'); // false
Tasdik.validate(['tasdik', 'true'], 'everyChildren:string'); // true

Tasdik.validate('tasdik', 'oneOf:false'); // false
Tasdik.validate('tasdik', 'oneOf:tasdik,true'); // true

Tasdik.validate('@dev.tc', 'email'); // false
Tasdik.validate('hi@dev.tc', 'email'); // true

Tasdik.validate('dev!tc', 'domain'); // false
Tasdik.validate('dev.tc', 'domain'); // true

Tasdik.validate('dev!tc', 'hostname'); // false
Tasdik.validate('dev.tc', 'hostname'); // true

Tasdik.validate('tasdik', 'ipv4'); // false
Tasdik.validate('192.168.0.1', 'ipv4'); // true

Tasdik.validate('tasdik', 'ipv6'); // false
Tasdik.validate('2001:0db8:0a0b:12f0:0000:0000:0000:0001', 'ipv6'); // true
Tasdik.validate('2001:db8:a0b:12f0::1', 'ipv6'); // true

Tasdik.validate('tasdik', 'ip'); // false
Tasdik.validate('192.168.0.1', 'ip'); // true
Tasdik.validate('2001:0db8:0a0b:12f0:0000:0000:0000:0001', 'ip'); // true
Tasdik.validate('2001:db8:a0b:12f0::1', 'ip'); // true

Custom Validators

// you may set any custom validators
Tasdik.has('custom-test'); // false

Tasdik.set('custom-test', function (value) {
  return value === 'custom-value';
});

Tasdik.has('custom-test'); // true

Tasdik.validate('tasdik', 'custom-test'); // false
Tasdik.validate('custom-value', 'custom-test'); // true



// you may override built-in validators
Tasdik.set('number', function (value) {
  return value > 0;
});

Tasdik.validate(0, 'number'); // false
Tasdik.validate(1, 'number'); // true

Multiple Rules

Tasdik.validate([], ['array', 'hasChild']); // false
Tasdik.validate(['tasdik'], ['array', 'hasChild', 'everyChildren:oneOf:tasdik,true']); // true

"or" Conditions

Tasdik.validate(undefined, 'array|object'); // false
Tasdik.validate([], 'array|object'); // true
Tasdik.validate({}, 'array|object'); // true

Throw

Throws errors instead of returning false.

Tasdik.validate(undefined, 'defined', true); // throws Error('defined')
More...
2.0.1

10 years ago

2.0.0

10 years ago

1.0.1

10 years ago

1.5.1

10 years ago

1.5.0

10 years ago

1.1.1

10 years ago

1.1.0

10 years ago

1.0.0

10 years ago