Composition Conventions
import validate, {arrayElements, required, length, range} from 'strickland';
const personValidator = [
required(),
{
name: [required(), length(5, 40)],
addresses: [required(), arrayElements([
required(),
{
street: [
required(),
{
number: [required(), range(1, 99999)],
name: [required(), length(2, 40)]
}
],
city: required(),
state: [required(), length(2, 2)]
}
])]
}
];
const person = {
name: 'Stanford Strickland',
address: {
city: 'Hill Valley',
state: 'CA'
}
};
const result = validate(personValidator, person);
// Result would be invalid because
// address does not have a streetLast updated