perfectform
v1.0.17
Published
Parse and format forms perfectly.
Maintainers
Readme
Perfectform
Parse and format forms perfectly ✨

Install
npm install perfectform --save
How to use
const perfectform = require('perfectform');
const input = {
fullname: 'Jordan Belfort',
username: 'jordan22',
favoriteNumber: 8,
hasFerrari: false
}
perfectform(input, {
name: {
type: 'string',
from: 'fullname'
},
username: 'string', // You can just check the type
favoriteNumber: {
type: 'integer',
gte: 0,
lte: 9
},
hasFerrari: 'bool'
}, (err, form) => {
if(err) return console.log(err);
console.log(form);
// Form is now
// {
// name: 'Jordan Belfort',
// username: 'jordan22',
// favoriteNumber: 8
// hasFerrari: false
// }
})Checkout examples folder for more.
Documentation
Supported types
string, integer, float, boolean, object, array
Default options
Key|Value|Default
---|-----|-------
type|Type of value.|Type of value
from|Where to get key from form.|Same key from form
required|Fires error if one of required keys missing.|true
format|Format value with custom function. Skips all other tests.|-
Type specific options
String
Format
Key|Type|Option
---|----|------
trim|boolean|Trim string.
toLowerCase|boolean|Convert to lower case.
toUpperCase|boolean|Convert to upper case.
toLocaleLowerCase|locale array/string|Convert to lower case with locale. More info
toLocaleUpperCase|locale array/string|Convert to upper case with locale. More info
Test
Key|Type|Option
---|----|------
minLength|number|Minimum length of string. (<)
maxLength|number|Maximum length of string. (>)
regexp|RegExp|Test input with regexp.
startsWith|string|Test input starts with specified string.
endsWith|string|Test input ends with specified string.
includes|string|Test input includes specified string.
notIncludes|string|Test input not includes specified string.
arrayIncludes|array|Test input includes any string from specified array.
arrayNotIncludes|array|Test input not includes any string from specified array.
eq|string|Equals. (value ==)
noteq|string|Not equals. (value !==)
test|function|Test input with custom function. Return null for successful tests.
Number
Test
Key|Type|Option
---|----|------
eq|number|Equals. (value ==)
noteq|number|Not equals. (value !==)
lt|number|Less than. (value <)
lte|number|Less than equals. (value <=)
gt|number|Greater than. (value >)
gte|number|Greater than equals. (value >=)
- Uses parseInt/parseFloat.
License
MIT
✨ – Try pollme!
