Я использую редукционную форму для создания многостраничной формы.Redux-form - проверка по требованию - форма мастера
У меня есть многостраничная страница. Моя материнская форма инициализации, как это:
Parents = reduxForm({
form: 'my-form',
enableReinitialize: true,
destroyOnUnmount: false,
})(Parents);
И множественный компонент/страница отображается conditionaly так:
{(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()
и добавить или удалить 1
к шагу, если сервер ответьте http 200.
О компонентах <Motifs>
например, i инициализируется редукционная форма:
Motifs = reduxForm({
form: 'my-form',
destroyOnUnmount: false,
validate: validateMotifs // validation function
})(Motifs);
И для каждого из моих форм компонентов/страниц у меня есть некоторые кнопки к предыдущему/следующему, как это: <NavFormButton loading={loading} handleSubmit={handleSubmit} onSubmit={onSubmit}/>
Когда я нажмите кнопку Далее я хочу, чтобы проверить и отправить форму. Работает. Но когда я иду раньше, я просто хочу отправить данные, чтобы они были сохранены, но не хотят проверять, потому что пользователь может не заполнить все поля.
Как мне это сделать? Я следую хорошему пути?
Имея много проблем, чтобы понять, как это сделать правильно ... Спасибо.