debug ModalRegistration and

RegistrationForCandidate
This commit is contained in:
2023-12-29 12:23:54 +03:00
parent 94a13f4903
commit 4b0176079e
5 changed files with 128 additions and 197 deletions

View File

@ -23,9 +23,9 @@ export const useFormValidation = (
// Функция для валидации формы
const validateForm = () => {
const errors = {};
if (formData.name != undefined) {
if (formData.name.trim() === "") {
errors.name = "Имя обязательно к заполнению";
if (formData.username != undefined) {
if (formData.username.trim() === "") {
errors.username = "Имя обязательно к заполнению";
}
}
@ -66,23 +66,39 @@ export const useFormValidation = (
return Object.keys(errors).length === 0;
};
// Функция отчистки формы
const handleClearForm = () => {
const clearedFormData = Object.fromEntries(
Object.keys(formData).map((key) => [key, ""])
);
setFormData(clearedFormData);
const clearedValidationErrors = Object.fromEntries(
Object.keys(validationErrors).map((key) => [key, ""])
);
setValidationErrors(clearedValidationErrors);
};
// Функция для обработки отправки формы
const handleSubmit = async (e) => {
e.preventDefault();
// Проверка валидации формы
if (validateForm()) {
try {
const response = await apiRequest(apiEndpoint, {
method: "POST",
data: formData
});
let newformData = { ...formData };
delete newformData.secondPassword;
if (!response) {
showNotificationError();
} else {
showNotificationTrue();
}
try {
apiRequest(apiEndpoint, {
method: "POST",
data: newformData
}).then((data) => {
if ("errors" in data) {
showNotificationError();
} else {
handleClearForm();
showNotificationTrue();
}
});
} catch (error) {
console.error("Error submitting form:", error);
}
@ -93,6 +109,7 @@ export const useFormValidation = (
formData,
validationErrors,
handleChange,
handleSubmit
handleSubmit,
handleClearForm
};
};