Я пытаюсь реализовать довольно простую проверку для поля формы / выбора. Схема проверки:
vehicleProvider: Yup.object() // This is an object which is null by default
.required('formvalidation.required.message')
.nullable(),
reserveVehicle: Yup.number().when('vehicleProvider', { // This is a number which is null by default
is: provider => provider?.hasReserve,
then: Yup.number()
.required('formvalidation.required.message')
.nullable(),
otherwise: Yup.number().notRequired()
}),
Что я хочу сделать: Требовать / проверять reserveVehicle
только если provider.hasReserve
равно true
. В противном случае не требуется номер. Я получаю эту ошибку:
"ReserveVehicle должен иметь тип number
, но окончательное значение было: NaN
(приведено из значения NaN
)."
Это имеет смысл (вроде), потому что, ну null
- это не число. Но поскольку я пытаюсь сказать, что это не требуется, по моему мнению, это не должно пытаться оценить это.
Я пропустил какие-либо ключевые понятия Yup
?