Package Exports
- cached-validations
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (cached-validations) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
cached-validations
Create validation functions that cache results
Install
$ npm install --save cached-validations
Usage
Create a validation schema and then you can create a validation function that takes in values and outputs any errors based on the passed validation functions.
If an error has already been returned for a specific value then it will be cached and returned on the next invocation, making this a relatively performant option for doing things like form validations on keyup
.
import createValidator from 'cached-validations';
const formValidations = {
email: email => {
if (!email) return 'Email is required';
if (isNotEmail(email)) return 'Must be a valid email';
},
age: age => {
if (!age) return 'Age is required';
if (age > 120 || age < 13) return 'Must provide a valid age.'
}
}
const formValidator = createValidator(formValidations);
const dummyInput = {
email: 'notanemail',
age: 44
}
const errors = formValidator(dummyInput)
// {email: 'Must be a valid email'}
API
createValidator(validations: object) => function => object
Takes an object mapping validation functions to keys, returns a function that will validate objects with those same keys and return any errors based on the initially provided validations.
License
MIT © Brandon Dail