【发布时间】:2021-09-27 08:11:24
【问题描述】:
早上好,
我想要一个 react-router 链接仅在表单没有错误时转发,不幸的是,下面的代码在表单被验证之前会转发,因此不会出现错误等等。您能否指导我如何解决此问题,以便验证表单,如果没有错误,链接会进一步转发吗?
这是我的代码:
<Link to={this.props.formikProps.isValid?'mainMenu': 'itemDetail'}>{!this.props.disabled && <button className="buttons-panel__button" type="button" onClick={() => (this.props.handleSubmit(false), this.props.formikProps.isValid? '' : this.onValidationFail())} >Save</button>}</Link>
方法是(基本上只是显示弹窗错误,有效):
onValidationFail() {
setAlertMessage("You need to fill all mandatory fields")
}
到目前为止,我取得的最好成绩是它在每种情况下都按预期工作,但如果根本没有触及表单。我尝试了几种不同的方法,包括来自 formik 的 formValidate,但由于某种原因它也不起作用。
我期待有关此案的一些提示/提示/解决方案。
【问题讨论】:
标签: reactjs react-hooks react-router formik