Level 58
The issue might be that the form.put method is not sending the data in the correct format. Try changing forceFormData: true to forceFormData: false and see if that works. If not, you can try manually creating a FormData object and sending that instead. Here's an example:
const formData = new FormData();
formData.append('name', getNode('name').value);
formData.append('category_id', getNode('category_id').value);
formData.append('subcategory_id', getNode('subcategory_id').value);
formData.append('vegetarian', getNode('vegetarian').value);
formData.append('duration', (parseInt(getNode('hours').value) * 60) + parseInt(getNode('minutes').value));
formData.append('portions', getNode('portions').value);
formData.append('ingredients', JSON.stringify(getNode('ingredients_edit').value));
formData.append('instructions', JSON.stringify(getNode('instructions_edit').value));
if (data.image.length > 0) {
formData.append('image', data.image[0].file);
}
form.put('/recipe/' + props.recipe.slug, {
body: formData,
onError: (errors) => {
Object.entries(errors).forEach(([key, value]) => {
setErrors(key, value)
});
}
})