0

here is my object. food:{ veg:{ name:, price: }, non_veg:{ name:, price: } } how to validate the object, as there is options for array validation only.

suvop
  • 31
  • 5

1 Answers1

1

You can use yup like this:

let schema = yup.object().shape({
  food: yup.object().shape({
    veg:yup.object().shape({
      name:yup.string().required(),
      price:yup.number().required(),
    }),
    non_veg:yup.object().shape({
      name:yup.string().required(),
      price:yup.number().required(),
    })
  })
});

And you can build your dynamic object like:

let dynamic = yup.object().shape({
  food: yup.object().shape({
    [dynamicString]:yup.object().shape({
      name:yup.string().required(),
      price:yup.number().required(),
    }),
    [dynamicString]:yup.object().shape({
      name:yup.string().required(),
      price:yup.number().required(),
    })
  })
});