fix: gestion des codes retours

This commit is contained in:
N3WT DE COMPET
2025-02-07 17:40:30 +01:00
parent 42b4c99be8
commit 7f35527649
6 changed files with 124 additions and 84 deletions

View File

@ -98,6 +98,11 @@ const TeachersSection = ({ teachers, setTeachers, specialities, handleCreate, ha
const [popupVisible, setPopupVisible] = useState(false);
const [popupMessage, setPopupMessage] = useState("");
// Récupération des messages d'erreur
const getError = (field) => {
return localErrors?.[field]?.[0];
};
const handleAddTeacher = () => {
setNewTeacher({ id: Date.now(), last_name: '', first_name: '', email: '', specialities: [], droit: 0 });
setFormData({ last_name: '', first_name: '', email: '', specialities: [], droit: 0 });
@ -133,14 +138,22 @@ const TeachersSection = ({ teachers, setTeachers, specialities, handleCreate, ha
setTeachers([createdTeacher, ...teachers]);
setNewTeacher(null);
setLocalErrors({});
})
.catch((error) => {
console.error('Error:', error.message);
if (error.details) {
console.error('Form errors:', error.details);
setLocalErrors(error.details);
}
});
}
setLocalErrors({});
})
.catch(error => {
if (error && typeof error === 'object') {
setLocalErrors(error);
} else {
console.error(error);
.catch((error) => {
console.error('Error:', error.message);
if (error.details) {
console.error('Form errors:', error.details);
setLocalErrors(error.details);
}
});
} else {
@ -165,9 +178,20 @@ const TeachersSection = ({ teachers, setTeachers, specialities, handleCreate, ha
setEditingTeacher(null);
setFormData({});
})
.catch((error) => {
console.error('Error:', error.message);
if (error.details) {
console.error('Form errors:', error.details);
setLocalErrors(error.details);
}
});
})
.catch(error => {
console.error(error);
.catch((error) => {
console.error('Error:', error.message);
if (error.details) {
console.error('Form errors:', error.details);
setLocalErrors(error.details);
}
});
}
else {
@ -184,8 +208,6 @@ const TeachersSection = ({ teachers, setTeachers, specialities, handleCreate, ha
parsedValue = checked ? 1 : 0;
}
console.log(`handleChange - name: ${name}, parsedValue: ${parsedValue}, type: ${type}, checked: ${checked}`);
if (editingTeacher) {
setFormData((prevData) => ({
...prevData,
@ -237,7 +259,7 @@ const TeachersSection = ({ teachers, setTeachers, specialities, handleCreate, ha
value={currentData.last_name}
onChange={handleChange}
placeholder="Nom de l'enseignant"
errorMsg={localErrors && localErrors.last_name && Array.isArray(localErrors.last_name) ? localErrors.last_name[0] : ''}
errorMsg={getError('last_name')}
/>
<InputText
name="first_name"
@ -245,7 +267,7 @@ const TeachersSection = ({ teachers, setTeachers, specialities, handleCreate, ha
value={currentData.first_name}
onChange={handleChange}
placeholder="Prénom de l'enseignant"
errorMsg={localErrors && localErrors.first_name && Array.isArray(localErrors.firstname) ? localErrors.firstname[0] : ''}
errorMsg={getError('first_name')}
/>
</div>
);
@ -256,7 +278,7 @@ const TeachersSection = ({ teachers, setTeachers, specialities, handleCreate, ha
value={currentData.email}
onChange={handleChange}
placeholder="Email de l'enseignant"
errorMsg={localErrors && localErrors.email && Array.isArray(localErrors.email) ? localErrors.email[0] : ''}
errorMsg={getError('email')}
/>
);
case 'SPECIALITES':