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