验证不提交带有表单redux的空对象

时间:2018-10-25 12:59:54

标签: javascript reactjs lodash redux-form

请参见我的示例:https://codesandbox.io/s/qzm5q6xvx4

我可以在表单上添加和删除字段。初始化后,表单将禁用“提交”按钮,因为它使用“原始”来查找表单更改。

问题是,当我添加一个字段然后删除该字段时,即使没有添加任何数据,也没有剩余的提交按钮可以提交,即使看到的数据也不存在,它仍将表单视为“原始”,并且json输出为:

{
  "firstName": []
}

在理想情况下,此位置需要回到undefined才能使表单原始,或者我需要对提交内容进行某种检查/验证。我以为这些是一个,但看不到。我认为,Prisite寻找json更改,这就是问题所在。

我使用的是React,redux形式,lodash。

1 个答案:

答案 0 :(得分:0)

因此,为了解决我的问题,我将一个空的firstName对象传递给了组件-

initialValues={{firstName: []}

因此,表单现在从空对象开始,因此如果创建并删除了字段,则保留表单pristine

您可以通过使用redux格式的initialValues属性来实现。

https://codesandbox.io/s/1o82695rr4