Passwort-Set: echte Fehlermeldung anzeigen statt Fallback
Der axios-Response-Interceptor packt die Backend-Meldung in new Error(message) um und wirft .response weg. Der Catch- Handler beim Passwort-Setzen las aber err.response.data.error (nach dem Interceptor undefined) und fiel deshalb immer auf "Passwort konnte nicht gesetzt werden" zurück. Ergebnis: der Admin sah nie den echten Grund – typischerweise "Passwort erfüllt Mindestanforderungen nicht: mindestens 25 Zeichen" oder "Eigenes Passwort ist falsch". Fix: err.message lesen. Das ist genau der vom Interceptor gesetzte String. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -337,8 +337,13 @@ function UserModal({
|
||||
}
|
||||
updateMutation.mutate(updateData, {
|
||||
onSuccess: () => {
|
||||
// Der axios-Response-Interceptor wirft `.response` weg und
|
||||
// legt die Backend-Meldung nach `err.message` – deshalb hier
|
||||
// nicht `err.response.data.error` lesen, sonst sieht der
|
||||
// Admin nur den Fallback und weiß nicht, dass Staff-
|
||||
// Passwörter min. 25 Zeichen + Sonderzeichen brauchen.
|
||||
userApi.setPassword(user.id, formData.password, formData.currentPassword).catch((err) => {
|
||||
alert(err?.response?.data?.error || 'Passwort konnte nicht gesetzt werden');
|
||||
alert(err?.message || 'Passwort konnte nicht gesetzt werden');
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user