我喜欢在表单挂载后重新触发验证。让我们假设每次点击名为“验证输入”的按钮时都要运行验证。
怎么做?
相关问题:
答案 0 :(得分:4)
手动redux格式验证是oft requested feature,目前似乎没有提供。
我个人的解决方法是在this.props.change('_validationHack', Date.now())
包装的组件中触发reduxForm
,然后在values._validationHack
方法中删除onSubmit
,然后再将values
发送到服务器。
虽然不漂亮,但似乎毫无例外。
答案 1 :(得分:1)
同步验证在每个渲染上运行,因此"触发它"并没有多大意义。
如果您想使用异步验证,可以调用this.props.asyncValidate()
函数来触发它。
OR ,如果您更喜欢提交验证,则只需提交表单即可。
答案 2 :(得分:1)
这对我有用:
import { touch, stopAsyncValidation } from 'redux-form';
//...
yield put(stopAsyncValidation('CallForm', { mdn: mdn.error_message }));
yield put(touch('CallForm', 'mdn'));
答案 3 :(得分:0)
根据2018年11月28日:
您可以分派一些操作来对表单进行更改并触发验证方法。
如果您触发更改/触摸操作,则应执行验证功能。