我有一个带有提交按钮和普通html按钮的redux表单。我不希望在按下普通按钮时验证表单。但看起来表单总是被验证一次,然后当我再次单击该按钮时,按钮上的onclick被执行。我该如何防止这种情况?
我用相同的形式复制了同样的问题。例如,如果您转到http://redux-form.com/6.4.3/examples/syncValidation/,请在年龄字段中输入4,然后单击清除值。第一次验证触发并停止按钮操作。第二次按钮动作工作,即表单值被清除..
答案 0 :(得分:0)
您链接到的示例具有该行为,因为默认情况下,Redux Form将为模糊事件上的触摸字段调用验证函数。您单击按钮的事实无关紧要 - 您可以单击任何元素或页面上的任何位置,您将获得该行为。
阻止此行为的唯一真正方法是阻止Redux Form在模糊事件上触摸您的Fields。您可以通过在Redux表单配置对象中将touchOnBlur
设置为false
来执行此操作。
export default reduxForm({ form: 'myForm', touchOnBlur: false })(MyForm);
答案 1 :(得分:0)
请添加type =“ button”以防止按钮提交表单。如果您不输入任何类型,它将考虑提交。