Validator 中的错误处理
通过使用 validator,你可以更轻松地处理无效的输入。 这个例子展示了如何利用回调结果来实现自定义的错误处理。
尽管此代码片段使用了 Zod Validator,但你可以使用任何受支持的 validator 库应用类似的方法。
ts
import { 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) // 字符串
console.log(user.age) // 数字
}
)