Я использую Draft-js с Formik с yup для проверки компонента Draft EditorState.
Я предполагал, что смогу проверить, что EditorState не пустой, используя следующий тест yup:
//Each note has a string title and a body, which is a Draft EditorState
const validationSchema = yup.object().shape({
title: yup.string(),
body: yup.object()
.test("has text", "Cannot save an empty note", (value) => {
return value.getCurrentContent().hasText(); //boolean
}),
})
Однако я получаю сообщение об ошибке:
Uncaught (в обещании) TypeError: Невозможно прочитать свойство 'length' undefined в yupToFormErrors (formik.esm.js: 491) в formik.esm.js: 174
Это ошибка с formik , или я неправильно использую yup ?
Другая информация:
Внутри проверки Схема, я получаю следующее:
console.log(value.getCurrentContent().hasText()) //returns undefined
console.log(value.getCurrentContent()) //returns undefined
Но внутри обработчика onChange для EditorState (поле 'body') он работает правильно:
console.log(value.getCurrentContent().hasText()) //returns true or false