E-Mail-Adresse mit Umlauten wird als ungültig erkannt

  • Guten Tag,


    ich kann keine E-Mail-Adresse mit Umlauten eingeben bzw. anschließend speichern.


    Wie kann ich die Eigenschaften der Überprüfung ändern, damit Umlaute als gültig betrachtet werden.


    Grüße und besten Dank bereits vorab


    Dominik search


    P.S.: Installed Joomla version ‎3.9.22

  • Umlaute in der Domain?
    Hier kannst Du die Umschreibung prüfen: https://www.design-ks.de/idn-ace-converter.html

    Das ist an sich kein Joomlaproblem.


    Ich rate dazu, generell auf Umlaute zu verzichten, weil es auch in Mailprogrammen zu Probleme kommen kann.


    P.S.: Installed Joomla version ‎3.9.22

    Zeitnah updaten auf 3.9.24. Die letzten Updates waren Security-Fixes.

  • Guten Abend!


    Vielen Dank für die sehr schnelle Rückmeldung. :)


    Aufgefallen ist mir dieses "Verhalten" beim Anlegen von einem User mit der E-Mail-Adresse wiederverkäufer@...


    Muss ich mich damit abfinden, dass E-Mail-Adressen mit Umlauten nicht eingegeben werden können?


    Grüße


    Dominik


    P.S.: Status now --> You already have the latest Joomla version, 3.9.24. :thumbup:

  • Ja.

    Hi,

    dass ist nicht ganz richtig.


    Ich habe mir die aktuelle Version runtergeladen auch mit dieser ist die Eingabe von Umlauten nicht möglich. Es ist schon etwas her das ich mit Joomla gearbeitet habe aber im Grunde sind alle gleich.


    Geändert werden muss die validate.js um im ersten Schritt die Prüfung zu prüfen.

    in der Test Umgebung: C:\xampp\htdocs\joomla\media\system\js\validate.js


    Code
    n("email",function(t,e)
    {t=punycode.toASCII(t);
    return/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(t)})

    Wenn jetzt das Suchmuster angepasst wird sind auch Umlaute möglich.

    Code
    return/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-äöüÄÖÜß]+

    Das Script https://www.design-ks.de/idn-ace-converter.html bezieht sich nur auf die Domain.


    Dies ist aber nur die Clientseitige Prüfung der Eingabe, es gibt immer (sollte!) noch eine Serverseitige Eingabeprüfung.

  • Geändert werden muss die validate.js um im ersten Schritt die Prüfung zu prüfen

    Wenn, dann ändert man einen Template-Override von JavaScript-Dateien und nicht die im Core.


    Aber egal. Vor dem @-Zeichen dürfen keine Umlaute stehen. Der internationale Standard ist streng definiert. Vollkommen sinnfrei da rumzumanipulieren.


    Außer man möchte Emails speichern, die kaum ein Mailer ohne Fehlermeldung absendet oder annimmt. Selbst die browsereigenen Validierungen müssten bei email-Feldern über das pattern-Attribut verdreht werden, damit wenigstens die Ruhe geben.


    Man könnte jetzt noch auf die Idee kommen, auch den vorderen Teil zu "punycoden", aber wer braucht solche Email-Adressen, egal wo...

    Ja.

    Die einzig richtige und praxisnahe Antwort in diesem Thread ;)