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

@ -139,6 +139,11 @@ const ClassesSection = ({ classes, setClasses, teachers, handleCreate, handleEdi
return choices;
};
// Récupération des messages d'erreur
const getError = (field) => {
return localErrors?.[field]?.[0];
};
const handleAddClass = () => {
setNewClass({ id: Date.now(), atmosphere_name: '', age_range: '', levels: [], number_of_students: '', school_year: '', teachers: [] });
setFormData({ atmosphere_name: '', age_range: '', levels: [], number_of_students: '', school_year: '', teachers: [] });
@ -169,7 +174,11 @@ const ClassesSection = ({ classes, setClasses, teachers, handleCreate, handleEdi
setLocalErrors({});
})
.catch((error) => {
console.error(error);
console.error('Error:', error.message);
if (error.details) {
console.error('Form errors:', error.details);
setLocalErrors(error.details);
}
});
} else {
setPopupMessage("Tous les champs doivent être remplis et valides");
@ -187,7 +196,11 @@ const ClassesSection = ({ classes, setClasses, teachers, handleCreate, handleEdi
setLocalErrors({});
})
.catch((error) => {
console.error(error);
console.error('Error:', error.message);
if (error.details) {
console.error('Form errors:', error.details);
setLocalErrors(error.details);
}
});
} else {
setPopupMessage("Tous les champs doivent être remplis et valides");
@ -247,7 +260,7 @@ const ClassesSection = ({ classes, setClasses, teachers, handleCreate, handleEdi
value={currentData.atmosphere_name}
onChange={handleChange}
placeholder="Nom d'ambiance"
errorMsg={localErrors && localErrors.atmosphere_name && Array.isArray(localErrors.atmosphere_name) ? localErrors.atmosphere_name[0] : ''}
errorMsg={getError('atmosphere_name')}
/>
);
case 'TRANCHE D\'AGE':
@ -257,7 +270,7 @@ const ClassesSection = ({ classes, setClasses, teachers, handleCreate, handleEdi
value={currentData.age_range}
onChange={handleChange}
placeholder="Tranche d'âge (ex: 3-6)"
errorMsg={localErrors && localErrors.age_range && Array.isArray(localErrors.age_range) ? localErrors.age_range[0] : ''}
errorMsg={getError('age_range')}
/>
)
case 'NIVEAUX':
@ -267,7 +280,7 @@ const ClassesSection = ({ classes, setClasses, teachers, handleCreate, handleEdi
options={allNiveaux}
selectedOptions={currentData.levels ? currentData.levels.map(levelId => allNiveaux.find(level => level.id === levelId)) : []}
onChange={handleMultiSelectChange}
errorMsg={localErrors && localErrors.levels && Array.isArray(localErrors.levels) ? localErrors.levels[0] : ''}
errorMsg={getError('levels')}
/>
);
case 'CAPACITE':
@ -278,7 +291,7 @@ const ClassesSection = ({ classes, setClasses, teachers, handleCreate, handleEdi
value={currentData.number_of_students}
onChange={handleChange}
placeholder="Capacité"
errorMsg={localErrors && localErrors.number_of_students && Array.isArray(localErrors.number_of_students) ? localErrors.number_of_students[0] : ''}
errorMsg={getError('number_of_students')}
/>
)
case 'ANNÉE SCOLAIRE' :
@ -290,7 +303,7 @@ const ClassesSection = ({ classes, setClasses, teachers, handleCreate, handleEdi
choices={getSchoolYearChoices()}
callback={handleChange}
selected={currentData.school_year || ''}
errorMsg={localErrors && localErrors.school_year && Array.isArray(localErrors.school_year) ? localErrors.school_year[0] : ''}
errorMsg={getError('school_year')}
IconItem={null}
disabled={false}
/>