dav*_*wil 16 javascript typescript zod
我正在使用它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 }))
Run Code Online (Sandbox Code Playgroud)
但是,我不想忽略额外的输入属性,相反,我想在发生这种情况时抛出一个有用的错误,报告额外属性的键。
有没有办法做到这一点zod
?
nem*_*esv 34
您可以使用严格选项:
const schema = z.object({
foo: z.string(),
bar: z.number()
}).strict();
Run Code Online (Sandbox Code Playgroud)