我想为我的redux-form提供两部分提交策略。首先,用户在调用验证方法的表单上调用submit。响应可能会有一些警告。我希望用户看到警告(如果有的话),并可选择继续另一个提交,这将是对服务器rest api的真正POST。
如果没有警告,我希望该组件自动提交。我试图从componentWillReceiveProps
方法中解决这个问题。
问题是nextProps.handleSubmit(this.doSubmit2of2);
没有调用this.doSubmit2of2
。执行只是跨过该调用。
componentWillReceiveProps(nextProps) {
//boolean that indicates validation just occured against the server
if (nextProps.storeWithValidation) {
//the user hit submit, first it was validated, if no issues, go ahead and try to create
if (nextProps.storeValidationOk) {
//fire off create store
nextProps.handleSubmit(this.doSubmit2of2);
}
else {
//there are validation issues of some kind, let the user see them
//do nothing here and let the render method do its thing with the props
}
}
}
我在这里找到了讨论:https://github.com/erikras/redux-form/issues/67,但在我的情况下,提交是作为特定服务器响应的结果而发生的。此外,我意识到还有redux-form的验证功能。我是否在预期的框架惯例之外设计得太远了?
另外,我已经考虑过重新设计我的服务器api,但是我想知道在服务器响应后自动重新提交的当前方法我能走多远。
答案 0 :(得分:1)
根据我的理解,您希望在服务器响应后远程提交表单。您可以按照example from the docs创建远程提交。然后,只要您想要多次,就可以dispatch(submit('yourFormName'))
。