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