禁用Redux-Form字段时删除验证

Rav*_*han 6 redux-form

我正在使用Redux表单v6.5.0并且要求 在禁用的props传递为true时删除任何Field的验证.

我编写了一个自定义逻辑来禁用自定义字段组件的render()内部的验证,但看起来即使手动更新值后,也没有在表单上调用updateSyncErrors().因此,syncErrors对象会持久化字段验证错误.

    if (field.disabled) {
        field.meta.invalid = false;
        field.meta.error = undefined;
        field.meta.valid = true;
    }
Run Code Online (Sandbox Code Playgroud)

我们能否有一些直接的 - 简单和更好的方法来解决这个问题并修复这个问题?

Dei*_*kas 0

disableValidation您可以通过在表单配置对象中传递带有字段名称的数组来禁用特定字段的验证。然后您可以检查该数组是否包含字段名称以及是否未为该字段提供验证函数。

我想一个例子可以最好地证明这一点: https: //www.webpackbin.com/bins/-Kf7WYdGZtEypx080L99