验证架构需要帮助

时间:2019-08-08 21:31:33

标签: formik yup

const ValidationSchema = Yup.object().shape({
  name: Yup.string()
    .min(2, 'String too short!')
    .max(50, 'String too long!')
    .required('Field is required!')
    .lowercase(),
  phases: Yup.array().of(
    Yup.object().shape({
      sla_type: Yup.string(),
      sla: Yup.number(),
    }),
  ),
});

首先,我刚刚开始学习YUP并热爱它。对团队表示敬意...

以上是我的验证架构。 在Phases下,我有两个字段:sla_typesla

这是我要完成的工作:

  1. 如果sla_type为空,并且sla也为空,则不需要验证,也不需要值
  2. 如果sla_type === 'minutes'sla应该是min(1),max(60)
  3. 如果sla_type === 'hours'sla应该是min(1),max(24)
  4. 如果sla_type === 'days'sla应该是min(1),max(90)

请问如何实现?

1 个答案:

答案 0 :(得分:1)

您可以像这样使用yup.when()

const colors = document.querySelectorAll('.two');

colors.forEach(color => color.addEventListener('click', e => {
  color.previousElementSibling.classList.toggle('hidden');
}));