Merge branch 'features/feedback' into 'dev'

Show error modal

See merge request sae-but2/2025-26/gestion-benevoles-association/Frontend!31
This commit is contained in:
T'JAMPENS QUENTIN p2406187
2025-12-10 09:20:09 +00:00
2 changed files with 24 additions and 19 deletions
+14 -15
View File
@@ -31,26 +31,25 @@ function RegisterPage() {
}
}, [loading, user]);
const handleModal = (t, m) => {
setTitle(t)
setMessage(m)
setOpen(true);
}
async function handleSubmit(e) {
e.preventDefault();
if(!(password === confirmPassword)) {
setTitle("Mot de passe invalide")
setMessage("Les mots de passes ne conrrespondent pas")
setOpen(true);
} else if(password.length < 8) {
setTitle("Mot de passe invalide")
setMessage("Le mot de passe doit faire plus de 8 charactères")
setOpen(true);
} else {
if(!(password === confirmPassword)) handleModal("Mot de passe invalide", "Les mots de passes ne conrrespondent pas");
else if(password.length < 8) handleModal("Mot de passe invalide", "Le mot de passe doit faire plus de 8 charactères");
else {
const res = await register(email, password, name, lastName, phone);
if (!res || res.status !== 200) throw new Error("Register error");
navigate("/login");
if (res.status === 422) {
if (res.errors.email) handleModal("Adresse Email invalide", "Le formet de votre adresse Email n'est pas valide");
if (res.errors.phone) handleModal("Numéro de téléphone invalide", "Le formet de votre numéro de téléphone n'est pas valide");
} else navigate("/login");
}
}
+10 -4
View File
@@ -15,16 +15,22 @@ export default async function register(email, password, name, lastname, phone) {
body: JSON.stringify({ email, password, name, lastname, phone }),
});
console.log('Code HTTP :', response.status);
const data = await response.json();
if (!response.ok) {
if (response.status === 422) {
return {
status: 422,
errors: data.errors
};
}
throw new Error(`Erreur HTTP ${response.status}`);
}
const data = await response.json();
return { status: response.status, data };
} catch (error) {
return error;
return { status: "error", error };
}
}