- Notifications
You must be signed in to change notification settings - Fork2
Small package that leverages the power of ES6 Proxy to validate and sanitize objects.
License
sorodrigo/proxy-validator
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Small package that leverages the power of ES6 Proxy to validate and sanitize objects.
Learn More, read the article:
How I made a validation library using ES6 Proxy
$ npm i proxy-validator
The API is fairly simple. Create a validator by providing a validation schema and/or a sanitizing schema.
importProxyValidatorfrom'proxy-validator';// The schema props correspond to the props that will be validated.constvalidators={// Define a set of rules to apply for each prop, each rule is formed by a key and a value.name:{// The key corresponds to a validator function.isLength:{// The value can be either an object, containing options and an errorMessage...options:{min:6},errorMessage:'Minimum length 6 characters.'},// ...or a boolean, in which case the message will be the default one.isUppercase:true},mobile:{isMobilePhone:{options:'en-GB',errorMessage:'Invalid mobile number.'},isAlphanumeric:true}};constsanitizers={// As with the validation, the sanitizing schema is formed by a a key/value pair.name:{// The key corresponds with the sanitizing functiontrim:true// and the value can be either boolean (use defaults)},email:{normalizeEmail:{options:{// ...or a config options object.all_lowercase:true}}}};// Creates a validatorconstContactValidator=ProxyValidator(validators,sanitizers);// Creates a proxy that will enforce the validator rules.constcontact=ContactValidator();contact.name='Mike';// throws errorscontact.name=' MICHAEL';console.log(contact);// { name: 'MICHAEL' };
The validation is based on the amazing libvalidator bychriso. Find the complete list of available validators and sanitizers inhere.
About
Small package that leverages the power of ES6 Proxy to validate and sanitize objects.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors2
Uh oh!
There was an error while loading.Please reload this page.