React-hook-form 更新验证

React-hook-form update validation

我想根据另一个字段的状态更新一个字段的验证。我得到的情况如下:

  1. 正确填写电子邮件字段(未显示错误)
  2. 正确填写 phone 数字字段(未显示错误)
  3. 删除 phone 号码(没有显示错误,因为电子邮件仍然有效并且 phone 号码依赖于它)。
  4. 删除电子邮件 - 现在这是一个奇怪的行为 - 电子邮件字段显示正确的错误但 phone 数字显示旧错误 ('invalid phone number') 但它应该显示新错误,与电子邮件一样 ('we need at least one form of contact').

当我关注 phone 数字字段然后取消关注时 'updates' 并显示正确的错误。

我想做的是在第 4 步显示正确的 phone 数字错误。不需要 focus/unfocus。

我希望 codesandbox 能让事情变得更清楚: https://codesandbox.io/s/hopeful-nightingale-0m41z

我认为您需要根据您的要求更新 mode 以代替 onTouched

https://react-hook-form.com/api#errors