Redux-form,为什么验证不在onSubmit上运行?

时间:2017-06-30 22:45:23

标签: reactjs react-redux redux-form react-redux-form

我在下面有以下反应redux-form,为用户提供一个表格来输入一封或多封电子邮件。

由于某种原因,验证没有在onSubmit上运行。我添加了一个控制台日志,只看到加载页面时正在运行的验证功能。

我做错了导致验证不能运行onSubmit?

由于

 public class car 
 {
    public int id {get; set;}
    public Tire attribute {get; set;}
 }

 public class Tire
 {
    public int id {get; set;}
    public double value {get; set;}
 }

2 个答案:

答案 0 :(得分:2)

Redux Form docs/example显示它应该像下面的例子那样完成。

您应该将1验证功能传递给submit,与this.props.handleSubmit()一样。

onSubmit={this.props.handleSubmit(validate)}

答案 1 :(得分:1)

默认验证在模糊事件上运行。

并且,默认情况下,submitFailed(redux form props)设置为False。只有在批准验证后才能获得此道具,然后您可以提交表单。

所以你可以使用onHandleSubmit,它将函数作为参数。 示例

onSubmit={handleSubmit(validate)}

或者你可以在

中添加它
RaterInviteForm = reduxForm({
  form: 'emailsForm',
touchOnBlur : false 
  initialValues: {
    emails: ['', '', '']
  },
  validate
})(RaterInviteForm)

这样做,只有在您提交表单时才会验证表单。