From 755d5cb84d5ab3a288a93429183de04c36b255cd Mon Sep 17 00:00:00 2001 From: ktKongTong <44502608+ktKongTong@users.noreply.github.com> Date: Wed, 25 Dec 2024 09:32:07 +0800 Subject: [PATCH] docs(zod-validator): add usage docs for `zErrValidator` (#900) * docs(zod-validator): add usage docs for `zErrValidator`, throw a validating error instead of directly returning an error response. (#890) * docs(zod-validator): change zod error to Hono HTTPException * remove useless generic --- packages/zod-validator/README.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/packages/zod-validator/README.md b/packages/zod-validator/README.md index 34357e13..b7a887e5 100644 --- a/packages/zod-validator/README.md +++ b/packages/zod-validator/README.md @@ -37,6 +37,32 @@ app.post( ) ``` +Throw Error: + +throw a zod validate error instead of directly returning an error response. + +```ts +// file: validator-wrapper.ts +import { ZodSchema } from "zod"; +import type { ValidationTargets } from "hono"; +import { zValidator as zv } from "@hono/zod-validator"; + +export const zValidator = (target: keyof ValidationTargets, schema: ZodSchema) => +zv(target, schema, (result, c) => { + if (!result.success) { + throw new HTTPException(400, { cause: result.error }); + } +}) + +// usage +import { zValidator } from './validator-wrapper' +app.post( + '/post', + zValidator('json', schema) + //... +) +``` + ## Author Yusuke Wada