我正在寻找一种最无创的方法来出于开发/调试目的而禁用Redux表单验证
我有一个类似于教程https://redux-form.com/8.1.0/examples/wizard/的向导形式,但我使用的是字段验证器和异步验证器
我仍然想显示错误,但是即使验证失败也可以继续执行下一步向导
我想在URL上添加一个标志,例如?ignore-validation = true(使用react router)
这是我的向导第一步的一部分:
export class CustomerStep1 extends React.PureComponent<FormProps> {
render(): React.Node {
const {
handleSubmit,
} = this.props;
const submit = handleSubmit(createValidateCardAction);
return (
<form onSubmit={submit}>
<Field
name="card_number"
placeholder="7777 1234 5678 9012"
component={Input}
validate={cardNumber}
/>
...
export default reduxForm({
form: 'customerWizard',
destroyOnUnmount: false,
forceUnregisterOnUnmount: true,
})(CustomerStep1);
答案 0 :(得分:1)
我在这里看到两种可能性:
1)将您的向导表单拆分为多个表单,并分别进行验证。您可以创建另一个状态来控制要显示的表单。即使它有更多的状态要管理,我还是会选择一个。
2)您可以只为每个字段保留异步验证,然后在其中抛出错误。另外,您必须创建一个状态来管理页面并在异步验证功能中对其进行管理。我创建了第二种方法的示例:https://codesandbox.io/s/o46k8lx7kz