Да, как проверить обязательные поля на нулевом объекте - PullRequest
0 голосов
/ 13 марта 2020

У меня проблема с проверкой обязательных полей, которые являются свойствами (возможно) нулевого объекта.

Вот пример схемы:

object().shape({
   catalog: {
      brand: string().required()
   }
})

Если я пытаюсь проверить следующий объект против этой схемы, я получаю ожидаемую ошибку: требуется бренд. Из того, что я понял, есть значение по умолчанию, созданное для неопределенного объекта, которое имитирует форму объекта в схеме. Это поведение, которое я ожидал и чего я хочу.

{ catalog: undefined }

// "catalog.brand is a required field"

Но в моем случае я не получаю объект с неопределенным, но с нулевым. И я не могу понять, как управлять тем же результатом с нулевым значением.

{ catalog: null }

// No error on catalog.brand

Ручное приведение нулевого значения к неопределенному не может быть и речи, поскольку есть веская причина, почему я получаю нулевое значение.

Вот кодовое окно, которое воспроизводит мой вариант использования:

https://codesandbox.io/s/yup-playground-tbfcj

Я был бы очень признателен за помощь, спасибо:)

...