Я использую Redux-Form 7.4.2 , и у меня есть форма с именами полей в следующем формате: textIntl [0] .value , textIntl [ 1] .value и т. Д. Я пытаюсь настроить синхронную проверку для этих полей, но при регистрации в файле meta.error оно всегда не определено.
В целях тестирования я жестко закодировал ошибку в функции валидатора, имя которой совпадает с именем поля формы и ключом.
Если при входе в консоль возникают ошибки перед возвратом из валидатора, это всегда так.
{ textIntl[0].value: "UH OH" }
В Chrome Redux Dev Tools я вижу syncErrors в хранилище приставок в этой форме.
form: {
"heading-component-editor": {
syncErrors: {
"textIntl[0].value": "UH OH "
}
}
}
Функция валидатора:
export const validator = (formData: Immutable.Map<string, any>): Record<string, string> => {
const errors = {
"textIntl[0].value": "UH OH"
};
return errors;
};
Форма (где проходит валидатор):
<Form
form={HEADING_EDITOR_FORM_NAME}
onSubmit={onSubmit}
initialValues={component}
validate={validator}
enableReinitialize
>
<TextareaField
name={`textIntl[{0].value`}
...
/>
...
</Form>
Я ожидаю, что meta.error будет содержать строковое сообщение об ошибке, которое включено в ключ, пара значений в объекте ошибки, возвращаемом из валидатора, но вместо этого он всегда неопределен.
Кто-нибудь сталкивался с этой проблемой раньше?