1.0.17 • Published 6 years ago
perfectform v1.0.17
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!