Module @benneq/validator

This module contains utilities for working with Validators

Example

Validate registration form

const registrationFormValidator = validate(chain(
objectValidator({
email: valueValidator(isEmail, "must be am email"),
password: valueValidator(isSecure, "must be secure"),
}),
valueValidator(
{ password, repetition } => password === repetition,
"passwords must match"
),
));

const validationResult = registrationFormValidator(
{
email: "a@b.c",
password: "secure",
repetition: "",
}
);

console.log(validationResult);
// [{ path: "$", message: "passwords must match",
// value: {email: "a@b.c", password: "secure", repetition: "" }
// }]

Example

Validate a complex object

const myValidator = validate(objectValidator({
name: valueValidator(isString, "must be a string"),
numbers: arrayValidator(valueValidator(isNumber, "must be a number")),
tuple: tupleValidator([
valueValidator(isBoolean, "must be a boolean"),
valueValidator(isString, "must be a string"),
])
}));

const result = myValidator({
name: "a",
numbers: [1, 2, 3],
tuple: [true, ""],
});

console.log(result); // []

Index

Type Aliases

Functions

Generated using TypeDoc