Redux表单同步字段级别验证不能使用复杂的字段名称吗?

时间:2019-01-16 12:50:04

标签: javascript reactjs redux redux-form

我正在使用Redux-Form 7.4.2 ,并且我有一个表单,该表单的字段名称具有以下格式: textIntl​​ [0] .value textIntl​​ [1] .value 等。我正在尝试为这些字段设置同步验证,但是在该字段中记录meta.error时,它始终是未定义的。

出于测试目的,我已在验证器函数中对错误进行了硬编码,该函数的名称与表单字段的名称完全相同。

在控制台从验证器返回之前记录错误时,它始终是

{ textIntl[0].value: "UH OH" }

在Chrome的Redux开发工具中,我可以在Redux存储库中的此表单下看到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保留字符串错误消息,该消息包含在验证程序返回的错误对象内的键,值对中,但始终是未定义的。

以前有人遇到过这个问题吗?

0 个答案:

没有答案