Files
mtdb_movie/common/resources/client/errors/on-form-query-error.ts
maher 703f50a09d
Some checks failed
Build / run (push) Has been cancelled
first commit
2025-10-29 11:42:25 +01:00

28 lines
931 B
TypeScript
Executable File

import axios from 'axios';
import {UseFormReturn} from 'react-hook-form';
import {BackendErrorResponse} from './backend-error-response';
import {showHttpErrorToast} from '@common/utils/http/show-http-error-toast';
export function onFormQueryError(r: unknown, form: UseFormReturn<any>) {
if (form && axios.isAxiosError(r) && r.response) {
const response = r.response.data as BackendErrorResponse;
if (!response.errors) {
showHttpErrorToast(r);
} else {
Object.entries(response.errors || {}).forEach(([key, errors], index) => {
if (typeof errors === 'string') {
form.setError(key, {message: errors}, {shouldFocus: index === 0});
} else {
errors.forEach((message, subIndex) => {
form.setError(
key,
{message},
{shouldFocus: index === 0 && subIndex === 0},
);
});
}
});
}
}
}