correct
v0.1.1
Published
Simple JavaScript validation module
Downloads
14
Maintainers
Readme
correct
Simple JavaScript validation module
Install
npm install correct
Usage
var correct = require('correct')
var fn = correct.string.min(1).max(12)
fn('abc') === true
fn('') === false
At any time, if you want to understand why you have a failing validation, you can use
var fn = correct.string.min(1).max(12)
fn.validate('')
// will return an object with {valid: false, errors: [...]} and the array of validations that did not pass
fn.validate('abc') //will return {valid: true}
Types
For now there are only 3 base validation types available
- string - correct.string
- number - correct.number
- int - correct.int
Example:
var isInt = correct.int
isInt('5') == false
isInt(5.1) == false
isInt(5) == true
You can chain validation functions for all types (detailed below).
var intMax10 = correct.int.max(10)
intMax10(4) == true
intMax10(40) == false
NOTE: types are specified with simple dot access, while all other chained validations should be chained as function calls:
var validate = correct.string.max(10).not('hello word').required()
validate('my string') == true
string
var stringMin5 = correct.string.min(5)
stringMin5('abc') == false
stringMin5('abcde') == true
Available string tests:
- min(n: Number) - validates the value to have at least n characters in length
- max(n: Number) - validates the value to have at most n characters in length
- re(r: RegExp) - validates the value against the given regular expression
- email() - validates the value to be a valid email address (npm module isemail is used)
- fn(f: Function) - validates the value if the specified function returns truthy
- not(v: String) - validates the value if it is not strict equal to v
- numeric() - validates the value if it is a numeric string: eg - '1.34'
- required() - validates the value if it is different from empty string
Number
Validates numbers.
var between10And100 = correct.number.min(10).max(100)
between10And100(40) == true
between10And100(4) == false
var even = correct.number.fn(function(v){
return v % 2 == 0
})
even(2) == true
var x = 67
even(x) == false
var isNumber = correct.number
isNumber(4.5) == true
isNumber('4.5') == false
Available number tests:
- min(n: Number) - validates the value if it is >= n
- max(n: Number) - validates the value if it is <= n
- fn(f: Function) - validates the value if the specified function returns truthy
- not(v: String) - validates the value if it is not strict equal to v
Int
Inherits all the number tests, and adds some more
- odd(n: Number) - validates the value if it is odd
- even(n: Number) - validates the value if it is even
Tests
make
License
MIT