1.0.3 • Published 1 year ago

ajv-validate-middleware v1.0.3

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

AjvValidateMiddleware

Provides Ajv validation services to Express Routes

Usage:

const AjvValidateMiddleware = require("ajv-validate-middleware");

const validateMiddleware = new AjvValidateMiddleware();

const express = require('express');
const app = express();

validateMiddleware.createSchema({
    user: {
        type: "object",
        properties: {
            firstName: {
                type: "string",
            },
            lastName: {
                type: "string",
            },
            email: {
                type: "string",
                format: "email",
            },
        },
        required: ["firstName", "lastName", "email"],
        errorMessage: {
            type: "Should be an Object",
            required: {
                email: "Email is required",
                firstName: "firstName is required",
                lastName: "lastName is required",
            },
            properties: {
                email: "A valid email is required",
            },
        },
    },
});

app.use(express.json())

app.post('/', validateMiddleware.validate('body', 'user'))

app.use((error, req, res, next) => {
    res.status(400).send(error)
})

app.listen(3000, () => {
    console.log('Express is listening... Talk!')
})

Kind: global class

ajvValidateMiddleware.validate ⇒ function

Validate Usage:

For query params: router.post('/:userId', validate('params', 'mySchema'))

For json body: router.post('/', validate('body', 'mySchema'))

Errors: Validation errors are passed to next express handler

Kind: instance property of AjvValidateMiddleware
Returns: function - (req, res, next)

ParamType
reqPropertyString
schemaNameString

ajvValidateMiddleware.createSchema(schema)

Creates ajv function from schema and pushes to validators

Kind: instance method of AjvValidateMiddleware

ParamType
schemaObject

ajvValidateMiddleware.addFormat(formatName, formatSchema)

Adds a format to validator

Kind: instance method of AjvValidateMiddleware

ParamType
formatNameString
formatSchemaObject
1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago