Не разрешать дополнительные свойства с помощью zod parse
Я использую для проверки. Похоже, если я определю схему, а затем
parse()
некоторый ввод с некоторыми дополнительными свойствами, которых нет даже в схеме, анализирует ввод как действительный, но просто удаляет эти ключи.
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
?
1 ответ
Вы можете использовать строгий вариант:
const schema = z.object({
foo: z.string(),
bar: z.number()
}).strict();