Redux-form - 按需验证 - 向导表单
Redux-form - Validate on demand - wizard form
我正在使用 redux-form 构建多页表单。
我有多个 "page" 表格。
我的父表单是这样初始化的:
Parents = reduxForm({
form: 'my-form',
enableReinitialize: true,
destroyOnUnmount: false,
})(Parents);
并且多个 component/page 有条件地显示如下:
{(step === 1) && <Intro onSubmit={this.handleSubmit} loading={submitting}/>}
{(step === 2) && <Motifs onSubmit={this.handleSubmit} onSubmitFail={this.handleSubmitFail} loading={submitting}/>}
{(step === 3) && <Fichiers onSubmit={this.handleSubmit} onSubmitFail={this.handleSubmitFail} loading={submitting}/>}
{(step === 4) && <Confirmation onSubmit={this.handleSubmit} onSubmitFail={this.handleSubmitFail} loading={submitting}/>}
{(step === 5) && <Terminee onSubmit={this.handleSubmit} onSubmitFail={this.handleSubmitFail} loading={submitting}/>}
this.handleSubmit
是一个调用 this.props.handleSubmit()
并在服务器响应 http 200 时添加或删除 1
的函数。
例如,在组件 <Motifs>
上,我像这样初始化 redux-form :
Motifs = reduxForm({
form: 'my-form',
destroyOnUnmount: false,
validate: validateMotifs // validation function
})(Motifs);
对于我的每个表单 components/pages,我都有一些 previous/next 按钮,如下所示:
<NavFormButton loading={loading} handleSubmit={handleSubmit} onSubmit={onSubmit}/>
当我单击“下一步”时,我想验证并提交表单。它的工作。
但是当我往前走时,我只想提交数据以便保存它们,但不想验证,因为用户可能没有填写所有字段。
我该怎么办?我走的是好的路吗?
很难理解如何正确执行此操作...谢谢。
我正在使用 redux-form 构建多页表单。
我有多个 "page" 表格。 我的父表单是这样初始化的:
Parents = reduxForm({
form: 'my-form',
enableReinitialize: true,
destroyOnUnmount: false,
})(Parents);
并且多个 component/page 有条件地显示如下:
{(step === 1) && <Intro onSubmit={this.handleSubmit} loading={submitting}/>}
{(step === 2) && <Motifs onSubmit={this.handleSubmit} onSubmitFail={this.handleSubmitFail} loading={submitting}/>}
{(step === 3) && <Fichiers onSubmit={this.handleSubmit} onSubmitFail={this.handleSubmitFail} loading={submitting}/>}
{(step === 4) && <Confirmation onSubmit={this.handleSubmit} onSubmitFail={this.handleSubmitFail} loading={submitting}/>}
{(step === 5) && <Terminee onSubmit={this.handleSubmit} onSubmitFail={this.handleSubmitFail} loading={submitting}/>}
this.handleSubmit
是一个调用 this.props.handleSubmit()
并在服务器响应 http 200 时添加或删除 1
的函数。
例如,在组件 <Motifs>
上,我像这样初始化 redux-form :
Motifs = reduxForm({
form: 'my-form',
destroyOnUnmount: false,
validate: validateMotifs // validation function
})(Motifs);
对于我的每个表单 components/pages,我都有一些 previous/next 按钮,如下所示:
<NavFormButton loading={loading} handleSubmit={handleSubmit} onSubmit={onSubmit}/>
当我单击“下一步”时,我想验证并提交表单。它的工作。 但是当我往前走时,我只想提交数据以便保存它们,但不想验证,因为用户可能没有填写所有字段。
我该怎么办?我走的是好的路吗?
很难理解如何正确执行此操作...谢谢。