Aller au contenu

Gestion des erreurs dans un validateur ​

Un validateur permet de gérer plus facilement les entrées invalides. Cet exemple montre comment utiliser le résultat du callback pour implémenter une gestion personnalisée des erreurs.

Bien que cet extrait utilise Zod Validator, vous pouvez appliquer une approche similaire avec toute bibliothèque de validation prise en charge.

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
  }
)

Voir aussi ​

Publié sous licence MIT.