我使用zod进行验证。如果我定义了一个模式,然后使用一些甚至不在模式中的额外属性来parse()一些输入,那么zod就会将输入解析为有效,但只删除这些键。
import { z } from 'zod'
const schema = z.object({
foo: z.string(),
bar: z.number()
})
// this validates fine, printing { foo: 'hello', bar: 1 }
console.log(schema.parse({ foo: 'hello', bar: 1, baz: true })) 但是,我不想忽略额外的输入属性,相反,当发生这种情况时,我想抛出一个有用的错误,报告额外属性的键。
有什么方法可以用zod来实现吗?
发布于 2021-12-19 21:23:02
您可以使用严格选择:
const schema = z.object({
foo: z.string(),
bar: z.number()
}).strict();https://stackoverflow.com/questions/70415330
复制相似问题