验证不使用 form-redux 提交空对象
Validation not to submit an empty object with form-redux
请看我的例子:https://codesandbox.io/s/qzm5q6xvx4
我可以在表单中添加和删除字段。初始化时,表单的提交按钮被禁用,因为它使用 'pristine' 来查找表单更改。
问题是,当我添加一个字段然后删除该字段时,即使没有添加数据,提交按钮也可用于提交 - 它看到的表单不再是 'pristine' 并且 json 输出是:
{
"firstName": []
}
理想情况下,这需要返回到 undefined
以使表单保持原始状态,否则我需要在提交时进行某种 check/validation。我以为这些是一个,但看不到它。 Prisite 寻找 json 我认为的变化,我认为这就是问题所在。
我正在使用 react、redux-form、lodash。
所以为了解决我的问题,我将 firstName 的空对象传递给组件 -
initialValues={{firstName: []}
因此,表单现在以空对象开始,因此如果创建字段然后删除,则保留表单 pristine
。
你可以使用 redux-form initialValues
prop.
请看我的例子:https://codesandbox.io/s/qzm5q6xvx4
我可以在表单中添加和删除字段。初始化时,表单的提交按钮被禁用,因为它使用 'pristine' 来查找表单更改。
问题是,当我添加一个字段然后删除该字段时,即使没有添加数据,提交按钮也可用于提交 - 它看到的表单不再是 'pristine' 并且 json 输出是:
{
"firstName": []
}
理想情况下,这需要返回到 undefined
以使表单保持原始状态,否则我需要在提交时进行某种 check/validation。我以为这些是一个,但看不到它。 Prisite 寻找 json 我认为的变化,我认为这就是问题所在。
我正在使用 react、redux-form、lodash。
所以为了解决我的问题,我将 firstName 的空对象传递给组件 -
initialValues={{firstName: []}
因此,表单现在以空对象开始,因此如果创建字段然后删除,则保留表单 pristine
。
你可以使用 redux-form initialValues
prop.