提交表单后如何取消对最终表单的验证?

时间:2020-08-07 08:12:03

标签: redux-form react-final-form final-form

提交更新现有值的表单时,我调度了一个redux操作创建者。

<Form onSubmit={onFormSubmit} destroyOnUnregister>
  {({dirty, invalid, handleSubmit}) =>
    ...
    <Button 
      onClick={handleSubmit} 
      disabled={invalid || !dirty}>
        Save
    </Button>
  }

当在后端接收到表单值时,服务器将以更新后的数据进行响应,react-final-form会将其解释为提交错误(react-final-form的invalid道具停留在{{1} },即使表单已成功提交)。 如何防止这种行为?

提交表单时,我一次只更新一个字段,即true,但是服务器响应包含整个数据片段以更新redux存储。我收到的验证错误是:

name

请注意,"submitErrors": { "data": { "id": 1, "name": "Company 1", "country": "USA", "city": "New York", ... ... "createdAt": "2020-08-06", "updatedAt": "2020-08-06", "deletedAt": null }, "type": "company/UPDATE_INFO_SUCCESS" } 操作已触发。

我确实在文档中看到了有关表单提交的以下部分

3。与承诺异步 返回一个Promise <?Object>,如果成功,则不进行任何值的解析,如果失败,则使用提交错误的Object进行解析。解决错误的原因是在出现服务器或通信错误时拒绝处理。

但是这种行为是非常不可取的。

0 个答案:

没有答案