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);