Не разрешать дополнительные свойства с помощью 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();
Другие вопросы по тегам