0.0.1 • Published 8 years ago

cached-validations v0.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
8 years ago

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