Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript SubmissionError是否适用于FieldArray字段?_Javascript_Reactjs_Redux_Redux Form - Fatal编程技术网

Javascript SubmissionError是否适用于FieldArray字段?

Javascript SubmissionError是否适用于FieldArray字段?,javascript,reactjs,redux,redux-form,Javascript,Reactjs,Redux,Redux Form,如果是这样,如何正确地传递字段名,使其在组件中显示错误 我在下面做的方式不起作用: <FieldArray name='myFieldArray' component={renderArrayField} /> function onSubmit(values) { values.myFieldArray.forEach((myField, index) => { if (!myField.someText) { cons

如果是这样,如何正确地传递字段名,使其在组件中显示错误

我在下面做的方式不起作用:

<FieldArray name='myFieldArray' component={renderArrayField} />

function onSubmit(values) {

    values.myFieldArray.forEach((myField, index) => {

        if (!myField.someText) {

            const errorObj = {}
            const myFieldName = "myFieldArray[" + index + "].someText"

            errorObj[myFieldName] = 'Field required!'
            throw new SubmissionError(errorObj)
        }
    })

    // save the form
}


但也没有处理…

您需要使用deep对象来显示嵌套字段的错误。像这样:

const errorObj = {
  myFieldArray: { 
    [index]: { 
      someText: 'Field required!' 
    } 
  }
};

throw new SubmissionError(errorObj);

我曾尝试将数组索引封装在单引号(字符串)中,但也没有成功。最后,我的案例似乎与没有将完整的redux表单道具传递给作为表单字段呈现的子函数组件有关。尝试在功能组件上呈现错误时,请确保传递完整的props或props.error。
const myFieldName = "myFieldArray[" + index + "]['someText']"
const myFieldName = "myFieldArray[" + index + "]['someText']['_error']"
const errorObj = {
  myFieldArray: { 
    [index]: { 
      someText: 'Field required!' 
    } 
  }
};

throw new SubmissionError(errorObj);