javascript - 如何在禁用字段上停止yup验证?

标签 javascript validation formik yup

我有以下内容:

  • 两个字段:部门诊所
  • 两个单选按钮部门诊所
    如果检查了诊所单选按钮,则该部门被禁用。
    现在,我希望yup仅在启用时才验证诊所字段。我尝试过这样的事情

  • // Clinic:
    Yup.string().when('isDisabled', {
      is: false, 
      then: Yup.string.required('clinic required')
    })
    

    最佳答案

    设置树字段,例如部门,诊所和种类

    类型字段是单选按钮的名称,然后为部门和诊所等每个单选按钮设置值

    您的验证架构如下:

         validationSchema=Yup.object().shape({
            kind: Yup.string().required(),
            clinic: Yup.string().when("kind", {
              is: (val) => val === "clinic",
              then: Yup.string().required(‘clinic required’),
              otherwise: Yup.string().notRequired()
            }),
            department: Yup.string().when("kind", {
              is: (val) => val === "department",
              then: Yup.string().required(‘department required’),
              otherwise: Yup.string().notRequired()
            }),
      })
    

    关于javascript - 如何在禁用字段上停止yup验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59058714/

    相关文章:

    ruby-on-rails - 以 Rails 形式验证多个模型

    javascript - 动态改变 jQuery UI 滑动条段的颜色

    javascript - 由于 superfish.com 而损坏的 Javascript

    javascript - ASP.NET MVC3 : Why are my custom validation attributes never working?

    javascript - jquery 验证插件中的 errorClass?

    reactjs - 是的,条件验证 - 当

    reactjs - Formik 将自定义的 Props 传递给自定义的 Field Component

    javascript - 使用 Yup 验证以检查字符串或数字长度

    javascript - React,几个具有相同依赖关系的useEffect,也不错吧?

    javascript - 以像素为单位获取元素高度的正确方法(所有浏览器?)