规范化使用initialValues设置的redux-form值

时间:2016-11-28 13:48:41

标签: reactjs redux redux-form

当我使用initialValues设置formvalues时,我希望运行规范化和异步验证。我甚至尝试调度模糊和更改操作,但两者都不起作用:

dispatch(blur('userdata', 'user_zipcode', '3021LC'));

dispatch(change('userdata', 'user_zipcode', '3021LC'));

解决这个问题的正确方法是什么?

2 个答案:

答案 0 :(得分:3)

对于规范化,使用非规范化数据进行初始化有点奇怪。我建议您查看Value Lifecycle,并可能结合使用parseformat函数。

至于运行异步验证,您可能使用无效数据进行初始化很奇怪,但是您可以在表单组件中调用this.props.asyncValidate() function来触发异步验证。

这有帮助吗?

答案 1 :(得分:3)

我在使用initialValues时遇到同样的问题而没有将它们标准化:

使用format代替normalize似乎可以解决问题但是 format实际上并没有改变您在商店中拥有的数据,如normalize这样做,如果您想这样做,那么使用两者可能是解决此问题的最佳方法吗?我不确定......

所以,这是一个例子:

<Field component={MyCustomInputField} name="phone" format={normalizePhone} normalize={normalizePhone} label="Phone" type="tel" />

formatValue Lifecycle Hooks

上的第一件事

希望这有帮助!