Below is axios request sent to server for data submit and in return I am getting validation errors if any,
const storeExpense = async (expenseData) => {
const response = await axios.post('/api/expenses/store/', expenseData).catch(function (error) {
if (error.response) {
return error.response.data;
} else if (error.request) {
console.log(error.request);
} else {
console.log('Error', error.message);
}
});
return response;
}
In another component, I storing return in variable,
const response = await storeExpense(values)
if('errors' in response)
{
setValErrors(Object.values(response))
setStatus({ success: false });
setErrors({ submit: response.errors });
setSubmitting(false);
setRequestStatus(true)
}
Below is the return response, it's an array and with objects.
Array [ "The given data was invalid.", {…} ]
0: "The given data was invalid."
1: Object { expense_description: (1) […], accountcustomtype_id: (1) […], expense_date: (1) […], … }
accountcustomtype_id: Array [ "Expense account is required." ]
expense_amount: Array [ "Expense amount is required." ]
expense_date: Array [ "Expense date is required." ]
expense_description: Array [ "Expense description is required." ]
paymentoption_id: Array [ "Payment with is required." ]
taxgroup_id: Array [ "Tax is required." ]
How can I print each validation error messages? with .map()?
Thank you,