diff --git a/services/web/app/src/Features/User/UserEmailsController.js b/services/web/app/src/Features/User/UserEmailsController.js index 4a93b92a3e..32f64023e8 100644 --- a/services/web/app/src/Features/User/UserEmailsController.js +++ b/services/web/app/src/Features/User/UserEmailsController.js @@ -273,6 +273,14 @@ const _checkConfirmationCode = }) } + if (error.name === 'InvalidInstitutionalEmailError') { + return res.status(422).json({ + message: { + key: 'email_does_not_belong_to_university', + }, + }) + } + logger.err({ error }, 'failed to check confirmation code') return res.status(500).json({ diff --git a/services/web/frontend/extracted-translations.json b/services/web/frontend/extracted-translations.json index 7bab4594dd..299f5d97d9 100644 --- a/services/web/frontend/extracted-translations.json +++ b/services/web/frontend/extracted-translations.json @@ -522,6 +522,7 @@ "email_attribute": "", "email_confirmed_onboarding": "", "email_confirmed_onboarding_message": "", + "email_does_not_belong_to_university": "", "email_limit_reached": "", "email_link_expired": "", "email_must_be_linked_to_institution": "", diff --git a/services/web/frontend/js/features/settings/components/emails/confirm-email-form.tsx b/services/web/frontend/js/features/settings/components/emails/confirm-email-form.tsx index 49b114d9c2..0d2fb55f0b 100644 --- a/services/web/frontend/js/features/settings/components/emails/confirm-email-form.tsx +++ b/services/web/frontend/js/features/settings/components/emails/confirm-email-form.tsx @@ -307,6 +307,9 @@ function ErrorMessage({ error }: { error: string }) { case 'email_already_registered': return {t('email_already_registered')} + case 'email_does_not_belong_to_university': + return {t('email_does_not_belong_to_university')} + case 'too_many_confirm_code_resend_attempts': return {t('too_many_confirm_code_resend_attempts')}