我正在使用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保留字符串错误消息,该消息包含在验证程序返回的错误对象内的键,值对中,但始终是未定义的。
以前有人遇到过这个问题吗?