Javascript Yup JS验证模式依赖性

Javascript Yup JS验证模式依赖性,javascript,yup,Javascript,Yup,我有一个很好的模式,比如 code: Yup.string() .min(3, 'Must be at least 3 characters') .required('Code is required') .test('unique-code', 'Code is taken', productCodeValidator), …其中.test('unique-code'进行API调用,以确认代码是唯一的。我只想在前两次通过(min,必选)时启动该验证器,但我找不到一个Yup方法可以

我有一个很好的模式,比如

code: Yup.string()
  .min(3, 'Must be at least 3 characters')
  .required('Code is required')
  .test('unique-code', 'Code is taken', productCodeValidator),
…其中
.test('unique-code'
进行API调用,以确认代码是唯一的。我只想在前两次通过(min,必选)时启动该验证器,但我找不到一个Yup方法可以这样做

我尝试了
。当
时,但这似乎只适用于同级字段,我在文档中没有看到任何关于在早期验证失败时不运行后续验证程序的内容

感谢您的帮助,谢谢

这在当前是不可能的,因为所有验证都同时运行以保持性能。也有许多其他的请求。例如,这是一个类似的请求:#256()。 我赞成有某种方法以某种顺序处理某些或所有验证

参考资料:

如果您在Formik中使用模式,您应该定义一个自定义验证函数(),在那里您可以内联验证第一个条件(例如使用basicSchema.validate(data)),如果它们返回true,您可以验证另一个条件。

检查此项: