本文へ移動

バリデーターでのエラー処理 ​

バリデーターを使うと、不正な入力をより簡単に処理できます。この例では、コールバックの結果を利用して独自のエラー処理を実装する方法を示します。

このコードでは Zod Validator を使っていますが、対応している他の検証ライブラリでも同様の方法を使えます。

ts
import * as z from 'zod'
import { zValidator } from '@hono/zod-validator'

const app = new Hono()

const userSchema = z.object({
  name: z.string(),
  age: z.number(),
})

app.post(
  '/users/new',
  zValidator('json', userSchema, (result, c) => {
    if (!result.success) {
      return c.text('Invalid!', 400)
    }
  }),
  async (c) => {
    const user = c.req.valid('json')
    console.log(user.name) // string
    console.log(user.age) // number
  }
)

関連情報 ​

MIT ライセンスで公開されています。