【问题标题】:React-Final-Form Validating Ranges while toggling RequiredReact-Final-Form 在切换时验证范围需要
【发布时间】:2020-06-20 04:05:06
【问题描述】:

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

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

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

还有其他方法可以使用 API 来实现吗? 我是否应该将值缓存在最终形式之外的“范围”上以避免订阅值? 我在混淆事情吗?谢谢。

【问题讨论】:

  • 我想验证模糊的原因是我不想在用户有机会与字段交互之前宣布错误或在视觉上将字段标记为需要注意。 (这很烦人,糟糕的用户体验,对有认知问题的用户来说很难)

标签: react-final-form final-form


【解决方案1】:

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

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

【讨论】:

  • 我做了你提到的改变 [这里|codesandbox.io/s/range-validation-j3g1n] 它的性能要好得多。谢谢!关于验证,我注意到一旦访问了一个字段,它的验证就会在焦点内和焦点外运行。您可以尝试我的示例:从字段输入,输入数据,制表符在字段中时,制表符,注意在焦点输出上触发的字段验证刷新页面 === 从字段输入,在字段中时制表符,返回到 from 在 from 字段中,输入文本,制表符,注意在焦点输入中的字段验证触发器
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多