formalist-validation
v1.0.0
Published
Data validation library for Formalist based on predicate logic.
Downloads
609
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
value
to test or the schema specifies that to test that thevalue
is'filled'
. - All the predicate tests are run as logical
AND
s. There’s no support for more complex logic at at the moment.
TODO
- [ ] Allow custom validations to be injected
- [ ] i18n support