У меня проблема с проверкой обязательных полей, которые являются свойствами (возможно) нулевого объекта.
Вот пример схемы:
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
Я был бы очень признателен за помощь, спасибо:)