即使按下正常的按钮,Redux表也始终有效

时间:2017-01-11 12:16:35

标签: reactjs redux-form

我有一个带有提交按钮和普通html按钮的redux表单。我不希望在按下普通按钮时验证表单。但看起来表单总是被验证一次,然后当我再次单击该按钮时,按钮上的onclick被执行。我该如何防止这种情况?

我用相同的形式复制了同样的问题。例如,如果您转到http://redux-form.com/6.4.3/examples/syncValidation/,请在年龄字段中输入4,然后单击清除值。第一次验证触发并停止按钮操作。第二次按钮动作工作,即表单值被清除..

2 个答案:

答案 0 :(得分:0)

您链接到的示例具有该行为,因为默认情况下,Redux Form将为模糊事件上的触摸字段调用验证函数。您单击按钮的事实无关紧要 - 您可以单击任何元素或页面上的任何位置,您将获得该行为。

阻止此行为的唯一真正方法是阻止Redux Form在模糊事件上触摸您的Fields。您可以通过在Redux表单配置对象中将touchOnBlur设置为false来执行此操作。

export default reduxForm({ form: 'myForm', touchOnBlur: false })(MyForm);

答案 1 :(得分:0)

请添加type =“ button”以防止按钮提交表单。如果您不输入任何类型,它将考虑提交。