Behoerde und Funktion optional, Pflichtfelder greifen jetzt wirklich
Behoerde oder Organisation und Funktion oder Dienststelle sind optional, in beiden Sprachen mit Hinweis am Feld. Pflicht bleiben Name, dienstliche E-Mail und die Einwilligung. Dabei aufgefallen, das Formular traegt novalidate, damit die Browsermeldungen die eigene Pruefung nicht ueberlagern. Die Pflichtfelder wurden dadurch bisher gar nicht erzwungen, ein leerer Name waere durchgegangen. Die Pruefung liegt jetzt im Skript, mit Meldung und Fokus auf dem betroffenen Feld. Der Name steht ausserdem mit in der Anfrage-Mail, da die Organisation leer bleiben kann.
Dieser Commit ist enthalten in:
@@ -14,6 +14,7 @@
|
||||
de: {
|
||||
sending: 'Wird gesendet...',
|
||||
send: 'Testzugang anfragen',
|
||||
nameFehlt: 'Bitte geben Sie Ihren Namen an.',
|
||||
freemail: 'Bitte geben Sie Ihre dienstliche E-Mail-Adresse an. Adressen bei Freemail-Anbietern wie Gmail, GMX oder web.de können wir für einen Testzugang nicht berücksichtigen.',
|
||||
invalidMail: 'Diese E-Mail-Adresse sieht nicht vollständig aus. Bitte prüfen Sie Ihre Eingabe.',
|
||||
consent: 'Bitte bestätigen Sie die Datenschutzhinweise, damit wir Ihre Anfrage bearbeiten dürfen.',
|
||||
@@ -37,6 +38,7 @@
|
||||
en: {
|
||||
sending: 'Sending...',
|
||||
send: 'Request trial access',
|
||||
nameFehlt: 'Please enter your name.',
|
||||
freemail: 'Please enter your official work email address. Addresses from free providers such as Gmail, GMX or web.de cannot be accepted for trial access.',
|
||||
invalidMail: 'This email address looks incomplete. Please check your entry.',
|
||||
consent: 'Please confirm the privacy notice so that we may process your request.',
|
||||
@@ -167,12 +169,14 @@
|
||||
var errorBox = document.getElementById('tf-error');
|
||||
var btn = form.querySelector('button[type="submit"]');
|
||||
|
||||
var fail = function (msg) {
|
||||
var fail = function (msg, feldId) {
|
||||
if (errorBox) {
|
||||
errorBox.textContent = msg;
|
||||
errorBox.style.display = 'block';
|
||||
errorBox.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
var feld = feldId && document.getElementById(feldId);
|
||||
if (feld) { feld.focus(); }
|
||||
if (btn) { btn.disabled = false; btn.textContent = T.send; }
|
||||
};
|
||||
|
||||
@@ -184,9 +188,12 @@
|
||||
/* Zeitfalle gegen Bots */
|
||||
if (Date.now() - loadedAt < 4000) return fail(T.tooFast);
|
||||
|
||||
if (!plausibleMail(email)) return fail(T.invalidMail);
|
||||
if (isBlocked(email)) return fail(T.freemail);
|
||||
if (consent && !consent.checked) return fail(T.consent);
|
||||
/* Das Formular traegt novalidate, damit die Browsermeldungen die
|
||||
eigene Pruefung nicht ueberlagern. Pflichtfelder deshalb hier. */
|
||||
if (!val('tf-name')) return fail(T.nameFehlt, 'tf-name');
|
||||
if (!plausibleMail(email)) return fail(T.invalidMail, 'tf-email');
|
||||
if (isBlocked(email)) return fail(T.freemail, 'tf-email');
|
||||
if (consent && !consent.checked) return fail(T.consent, 'tf-consent');
|
||||
|
||||
if (btn) { btn.disabled = true; btn.textContent = T.sending; }
|
||||
|
||||
@@ -195,6 +202,7 @@
|
||||
var zeilen = [
|
||||
L.head,
|
||||
'',
|
||||
L.name + ' = ' + val('tf-name'),
|
||||
L.org + ' = ' + (val('tf-org') || e_),
|
||||
L.role + ' = ' + (val('tf-role') || e_),
|
||||
L.mail + ' = ' + email,
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren