1

E-Mail Adresse validieren

Hallo,

ist es möglich ein E-Mail-Feld bzw. dessen Inhalt auf Stimmigkeit zu validieren? Also grob nur xxx@domain.tld

Es kommt hin und wieder vor, dass eine Mail falsch eingetragen wird. Das kommt dann zu Make falsch an, ich bekomme einen Haufen Mails und alles stoppt :) Das hinterher wieder geradezubiegen ist arg nervig. 

Vielen Dank im voraus.

7 Antworten

null
    • mirko3
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Du könntest im email-Feld im Trigger eingeben

    if length(replacex('E-Mail', "[a-zA-Z_0-9\.-]+@[a-z_A-Z\-\.]+\.[a-z]{2,4}", "")) > 0 then
        alert("falsch")
    end
    

    Oder ein Funktionsfeld einfügen

    if length(replacex('E-Mail', "[a-zA-Z_0-9\.-]+@[a-z_A-Z\-\.]+\.[a-z]{2,4}", "")) > 0 then
        icon("warn")
    else
        icon("ready")
    end
    

    Das Script fängt einige wesentliche Syntaxfehler ab. Wenn Du sicher validieren willst, würde ich eine Whitelist erstellen und mit contains(Whitelist, "email") abfragen. Mirko

    • Roland
    • vor 1 Jahr
    • Gemeldet - anzeigen

    @Mirko  Danke, aber irgendwie passiert da leider gar nichts.

    • Roland
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Nein stimmt nicht so ganz, das Funktionsfeld funktioniert :) Nur der Alert nicht :)

    • mirko3
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Bei mir geht beides mit obigen Scripten. Ist vielleicht bei copy/past etwas verloren gegangen? Denke daran, dass das Script nur vergleicht, ob die Adresse einen Syntaxfehler enthält, also erlaubte Zeichen vor und nach dem @ und ob das @ enthalten ist. Wenn Du stets die gleichen 20 Email-Adressen benutzt, dann ist wohl die whitelist günstiger und genauer.  Oder sogar die Auswahl über ein dynamisches Auswahlfeld.

    let whithelist := ["kunterbunt@online.info", "naseweis@trivial.de"];
    if not contains(whithelist, mail) then
        alert("false")
    end
    
    • Roland
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Danke Mirko. Nein es sind unzählige verschiedene Mailadressen welche pro Datensatz neu aufgenommen werden :) Daher geht nur die erste Variante als grobe Prüfung, das genügt mir vollkommen.

    Der Alert geht deswegen nicht, da wir im Browser arbeiten, das habe ich gerade festgestellt. Ich habe nun das Formelfeld genommen, das klappt super.

    Danke nochmal.

      • mirko3
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Roland Klar, Du hast Recht. Mit alert() im Browser geht es ja leider nicht. Und ich war, ausnahmsweise, an der Mac-App. Gruß Mirko

    • UweG
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Noch ein Link für Regex von MailAdressen:
    https://www.regular-expressions.info/email.html

Content aside

  • Status Answered
  • 1 „Gefällt mir“ Klicks
  • vor 1 JahrZuletzt aktiv
  • 7Antworten
  • 50Ansichten
  • 3 Folge bereits