formalist-validation
v1.0.0
Published
Data validation library for Formalist based on predicate logic.
Readme
Formalist Validation
Data validation library for Formalist based on predicate logic.
The scope of the library is very simple. It tests a value against a given schema and returns an array of relevant error messages.
Usage
import validation from 'formalist-validation'
// Define a schema
const schema = {
"filled": true,
"min_size": 2,
"max_size": 3,
}
// Curry validator with the schema
const validator = validation(schema)
// Test
validator([1])
// => ['size cannot be less than 2']
validator([1,2])
// => []
validator([1,2,3])
// => []
validator([1,2,3,4])
// => ['size cannot be greater than 3']View the full list of available predicates to see what else you can test.
Caveats
- Tests will only be run if there’s a
valueto test or the schema specifies that to test that thevalueis'filled'. - All the predicate tests are run as logical
ANDs. There’s no support for more complex logic at at the moment.
TODO
- [ ] Allow custom validations to be injected
- [ ] i18n support
