我将 Formik 用于创建用户的表单。使用 Yup 验证模式验证表单值。
但是,我还需要在用户填写表单时(不仅仅是在提交时)通过 api 调用检查用户名是否有效。如果 api 调用返回用户名被使用,我可以手动设置错误收集,但是随着相关字段通过其 Yup 验证(仅检查长度),这随后被清除。
如果(比如说)设置了状态标志,除了管理 React 中的检查和阻止表单提交之外,最好的方法是什么?
==================================================== ==
好的,我想通了。我使用了.test,因为它接受一个验证器函数,该函数返回一个承诺,我可以将它用于我的异步调用。
使用 createError 创建的自定义错误(请参阅文档)。
一切顺利
标记