Handcuffs
Async validation library for node and browser.
Installation
Install using npm or yarn:
npm install handcuffs# or yarn add handcuffs
Usage
Basic usage example:
const data = name: 'Jack' wife: name: 'Susan' const dataRules = name: rules rules 'wife.age': rules rules pets: rules rules 'pets.*.type': rules rules { try const validationResult = await if !validationResultvalid console catch e console }
Note: This library is written using ES6, in order to use it in your project it is advised to transpile it to your environment. The easiest way to do this is by using Babel with @babel/preset-env.
Rules
accepted
rules: rules
The field under validation must be 'yes'
, 'on'
, 1
, or true
.
alpha
name: rules
The field under validation must be entirely alphabetic characters.
alphaNum
password: rules
The field under validation must be entirely alpha-numeric characters.
alphaNumDash
url: rules
The field under validation may have alpha-numeric characters, as well as dashes and underscores.
array
permissions: rules
The field under validation must be an array.
between
guests: rules
The field under validation must have a size between the given min and max values.
boolean
isVisible: rules
The field under validation must be a boolean. Accepted input values are true
and false
.
email: rules
The field under validation must be formatted as an e-mail address.
max
password: rules
The field under validation must be less than or equal to the given max value.
min
password: rules
The field under validation must be greater than or equal to the given min value.
numeric
age: rules
The field under validation must be numeric.
required
name: rules
The field under validation must be present in the input data and not empty.
slug
slug: rules
The field under validation may have lowercase alpha-numeric characters and dashes.
string
name: rules
The field under validation must be a string.
License
MIT