Formik不删除不在yup模式中的值

时间:2019-11-15 02:28:00

标签: javascript formik yup

假设我有这个初始值

{animal: "rhino", parts: {legs: 4, horns: 0}}

在我的yup模式中:

animal = yup.object().shape({
   animal: yup.string().oneOf(["dog", "cat", "deer", "rhino"])
   parts: yup.object().when("animal", value => {
      switch(value) {
         case "dog":
         case "cat":
            return yup.object().shape({
                parts: yup.object().shape({
                   legs: yup.number().required()
                })
            });
         case "deer":
         default:
            return yup.object().shape({
                parts: yup.object().shape({
                   legs: yup.number().required(),
                   horns: yup.number().required() 
                })
            });
      }
   })
});

每当我以动物dogcats的形式提交表格时,horns仍会包含在提交的数据中。有没有办法让yup或formik在提交时自动将其删除?

0 个答案:

没有答案