Попробуйте, передав функцию 2-му аргументу when
:
const ScheduleSchema = Yup.object().shape({
name: Yup.string()
.required('Required'),
hours_attributes: Yup.array().of(
Yup.object().shape({
opens: Yup.boolean().when('all_day', (value, schema) =>
value ? schema : schema.required('Required')),
}))
});
Если приведенный выше фрагмент не работает, измените hours_attributes
следующим образом:
Yup.object({
opens: Yup.boolean().when('all_day', (value, schema) =>
value ? schema : schema.required('Required'))
}),
Если вы тогда значение opens
должно быть истинным:
Yup.object({
opens: Yup.boolean().when('all_day', (value, schema) =>
value ? schema : schema.oneOf([true], 'Required'))
}),