React-Final-Form 在切换时验证范围 Required

React-Final-Form Validating Ranges while toggling Required

如果在其中输入了值,我想根据需要真正验证模糊和条件显示范围字段。如果两个值都被删除,错误应该清除。

https://codesandbox.io/s/range-validation-via-values-subscription-o99zm

Hack:我可以通过缓存最后的元数据值来模拟模糊验证,并检查访问是否为真,但是我必须在清除两个字段时重置字段状态,否则访问将为真,随后数据输入和错误将过早显示。我相信这会让我一直走到那里,但这感觉违反直觉,并且由于 FormSpy 对值的订阅。

是否有其他方法可以使用 API 来完成此操作? 我是否应该将值缓存在最终形式之外的 "range" 上以避免订阅值? 我在混淆事情吗?谢谢

我认为您缺少的关键部分是字段级 validate() 函数 is passed allValues。 :-)

当然,您的另一个选择是使用 record-level validation