使用 yup 和 formik 显示值 inisde 验证消息

Showing value inisde validation message with yup and formik

我正在尝试将 yup 与 formik 和 i18n 结合使用。 问题是我如何用值本身显示错误消息 我的代码是

   retention: Yup.number()
      .test(
        t("Validation {{current}}{{min}}{{max}}", { current: Yup.ref('retention'), min: 12, max: 91 }),
        function (value) {
          return (value > 12 && value <= 91)
        }
      ),

我目前看不到错误消息你认为获取 Yup.ref

的问题

感谢您的帮助!

Yup.number()
  .when('retention', (retentionValue, schema) => {
    // you can use the value of retention and modify the schema if you want to.
    return schema;
  })

更多信息请访问官方docs

终于找到答案了

  Size: Yup.number()
            .test(
            (Size) =>
                t("Size Validation {{current}}{{min}}{{max}}", { current: Size.value, min: 1, max: 90 }),