Skip to main content

Function: validateAll()

validateAll<TQuery, TBody, TParams>(options): MiddlewareHandler<ChiveEnv>

Defined in: src/api/middleware/validation.ts:202

Combines multiple validation middlewares.

Type Parameters

TQuery = unknown

Query schema output type

TBody = unknown

Body schema output type

TParams = unknown

Params schema output type

Parameters

options

Validation schemas for query, body, and params

body

ZodType<TBody, unknown, $ZodTypeInternals<TBody, unknown>>

params

ZodType<TParams, unknown, $ZodTypeInternals<TParams, unknown>>

query

ZodType<TQuery, unknown, $ZodTypeInternals<TQuery, unknown>>

Returns

MiddlewareHandler<ChiveEnv>

Middleware that validates all inputs

Remarks

Validates query, body, and params in order. First validation failure throws an error. Combined validated input is stored as an object with query, body, and params keys.

Example

app.post(
'/api/v1/preprints/:id/comments',
validateAll({
params: paramsSchema,
body: bodySchema,
}),
(c) => {
const { params, body } = c.get('validatedInput');
}
);