π§βπ With express.js
Verifica can be easily used with Express to verify user inputs into the API:
const express = require("express");
const bodyParser = require("body-parser");
const { asVerificable, all, isStringLength, isRegexMatch, ensure, isObject, isString } = require("verifica");
// Custom Predicates:
const isEmail = all(
    isStringLength({ min: 3, max: 256 }),
    isRegexMatch(/^[^@]+@[^@]+$/),
);
const isPassword = isStringLength({ min: 8, max: 256 });
function isNewUser(verificable) {
    ensure(verificable, isObject);
    
    ensure(verificable.email, isEmail);
    ensure(verificable.password, isPassword);
}
// The server app:
const app = express();
app.use(bodyParser.json());
app.post("/users/:userId", (req, res) => {
    const vreq = asVerificable(req);
    
    const userId = ensure(vreq.params.userId, isString);
    const newUser = ensure(vreq.body, isNewUser);
    
    res.send(`New user created: userId = ${userId}, email = ${newUser.email}!`);
});
app.listen(5000, () => console.log("Listening on http://localhost:5000"));Last updated
Was this helpful?