validate-by-shorthand
v0.1.0
Published
This library offers a wide range of validation tests, easily accessible via shorthands.
Readme
validate-by-shorthand
This library offers a wide range of validation tests, easily accessible via shorthands.
Usage
var validate = require('validate-by-shorthand');
// validate using shorthands
validate('string!empty', 'foo'); // true
validate('string!empty', ''); // false
validate('number>0', 5); // true
validate('number>0', 0); // false
validate('string[]', ['foo', '', 'bar']); // true
validate('string[]', ['foo', '', 5]); // false
// validate using regular expressions
validate(/^[A-Z]+$/, 'ABC'); // true
validate(/^[A-Z]+$/, 'abc'); // false
// validate using functions
var test = function(v) {
return [1,2,3].indexOf(v) !== -1;
};
validate(test, 2); // true
validate(test, 5); // false
// validate using an array of shorthands, regexps and/or functions
// returning true if any test succeeds
var arr = ['number<0', test, /^[A-Z]$/];
validate(arr, -2); // true
validate(arr, 0); // false
validate(arr, 2); // true
validate(arr, 5); // false
validate(arr, 'A'); // true
validate(arr, 'a'); // trueShorthands
type tests supported by util.is* functions:
arraybooleannullnullorundefinednumberstringsymbolundefinedregexpobjectdateerrorfunctionprimitivebuffer
return true for anything
any
non-empty of respective type
string!emptyarray!emptyobject!empty
number tests
number>0number>=0number<0number<=0integerfloat
tests for an array with elements of respective type:
array[]boolean[]number[]string[]symbol[]regexp[]object[]date[]error[]function[]primitive[]buffer[]string!empty[]array!empty[]object!empty[]number>0[]number>=0[]number<0[]number<=0[]integer[]float[]
test for an object with properties of an respective type:
array{}boolean{}number{}string{}symbol{}regexp{}object{}date{}error{}function{}primitive{}buffer{}string!empty{}array!empty{}object!empty{}number>0{}number>=0{}number<0{}number<=0{}integer{}float{}
