Redux Form Синхронная проверка уровня поля не будет работать с использованием сложных имен полей? - PullRequest
0 голосов
/ 16 января 2019

Я использую 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 будет содержать строковое сообщение об ошибке, которое включено в ключ, пара значений в объекте ошибки, возвращаемом из валидатора, но вместо этого он всегда неопределен.

Кто-нибудь сталкивался с этой проблемой раньше?

...