【问题标题】:Yup JS validation schema depedencies是的 JS 验证模式依赖项
【发布时间】:2019-12-11 06:36:24
【问题描述】:

我有一个 Yup Schema,比如...

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 调用以确认代码是唯一的。如果前两个通过(最少,必需),我只想触发该验证器,但我找不到可以做到这一点的 Yup 方法。

我尝试了.when,但这似乎只适用于 sibling 字段,并且我在文档中没有看到任何关于在早期验证器失败时不运行后续验证器的内容。

任何帮助表示赞赏,谢谢!

【问题讨论】:

标签: javascript yup


【解决方案1】:

目前这是不可能的,因为所有验证同时运行以保持性能。对此也有许多其他要求。例如,这是一个类似的请求:#256 (https://github.com/jquense/yup/issues/256)。 我赞成有某种方法以某种顺序/顺序处理部分或全部验证。

参考资料:

如果您在 Formik 中使用模式,您应该定义一个自定义验证函数 (https://itnext.io/simple-react-form-validation-with-formik-yup-and-or-spected-206ebe9e7dcc),您可以在其中验证内联的第一个条件(例如使用 basicSchema.validate(data)),如果它们返回 true,您可以验证另一个条件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-07
    • 1970-01-01
    • 1970-01-01
    • 2015-02-21
    • 2019-04-27
    • 2011-10-21
    • 1970-01-01
    相关资源
    最近更新 更多