add email validator

This commit is contained in:
stefan.tollkuehn committed 2026-09-29 14:38:34 +02:00
1 parent a557d76e72
commit eb1e62c511
1 file changed
+18 -5
+18 -5
View File
@@ -428,8 +428,12 @@
*/ */
const CONFIG = { const CONFIG = {
/*
* Your Jitsi Launcher domain
*/
jitsiLauncher: "meet.bnvb.eu",
/* /*
* Your Jitsi Domain. * Your Jitsi domain.
*/ */
jitsiHost: "meet.bnvb-ingenieure.de", jitsiHost: "meet.bnvb-ingenieure.de",
/* /*
@@ -532,7 +536,8 @@
startTimeRequired: "Please select a start time", startTimeRequired: "Please select a start time",
endTimeRequired: "Please select an end time", endTimeRequired: "Please select an end time",
endAfterStart: "End time must be after start time", endAfterStart: "End time must be after start time",
organizerRequired: "Please enter an organizer email" organizerRequired: "Please enter an organizer email",
organizerInvalid: "Please enter a valid organizer email address"
} }
}, },
@@ -617,7 +622,8 @@
startTimeRequired: "Bitte wähle eine Startzeit", startTimeRequired: "Bitte wähle eine Startzeit",
endTimeRequired: "Bitte wähle eine Endzeit", endTimeRequired: "Bitte wähle eine Endzeit",
endAfterStart: "Die Endzeit muss nach der Startzeit liegen", endAfterStart: "Die Endzeit muss nach der Startzeit liegen",
organizerRequired: "Bitte gib eine Organisator-E-Mail ein" organizerRequired: "Bitte gib eine Organisator-E-Mail ein",
organizerInvalid: "Bitte gib eine gültige Organisator-E-Mail-Adresse ein"
} }
}, },
@@ -701,7 +707,8 @@
startTimeRequired: "Veuillez sélectionner une heure de début", startTimeRequired: "Veuillez sélectionner une heure de début",
endTimeRequired: "Veuillez sélectionner une heure de fin", endTimeRequired: "Veuillez sélectionner une heure de fin",
endAfterStart: "L'heure de fin doit être après l'heure de début", endAfterStart: "L'heure de fin doit être après l'heure de début",
organizerRequired: "Veuillez entrer un email d'organisateur" organizerRequired: "Veuillez entrer un email d'organisateur",
organizerInvalid: "Veuillez entrer une adresse email d'organisateur valide"
} }
} }
}; };
@@ -1180,7 +1187,7 @@
function generateICS(meetingName, description, startTime, endTime, organizer) { function generateICS(meetingName, description, startTime, endTime, organizer) {
/* Generate a unique room name from the meeting name */ /* Generate a unique room name from the meeting name */
const roomName = meetingName.toLowerCase().replace(/\s+/g, '-').replace(/[^a-z0-9-]/g, ''); const roomName = meetingName.toLowerCase().replace(/\s+/g, '-').replace(/[^a-z0-9-]/g, '');
const meetingUrl = `https://${CONFIG.jitsiHost}/launch.html?room=${encodeURIComponent(roomName)}`; const meetingUrl = `https://${CONFIG.jitsiLauncher}/launch.html?room=${encodeURIComponent(roomName)}`;
/* Format dates for ICS */ /* Format dates for ICS */
const formatICSDate = (date) => { const formatICSDate = (date) => {
@@ -1297,6 +1304,12 @@ END:VCALENDAR`;
return; return;
} }
const emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
if (!emailPattern.test(organizer)) {
alert(getTranslation('creator.organizerInvalid') || 'Please enter a valid organizer email address');
return;
}
/* Generate ICS */ /* Generate ICS */
const icsData = generateICS(meetingName, description || meetingName, startTime, endTime, organizer); const icsData = generateICS(meetingName, description || meetingName, startTime, endTime, organizer);