UUX: Regex zur Feld-Validierung nutzen

Feder wie E-Mail, IP-Adresse, Mac-Adresse usw. folgen einem festen Schema, dass nur zu gerne von Benutzern bei der Eingabe missachtet wird. Sei es im Eifer des Gefechts oder aus Unwissenheit, Menschen machen Fehler.

Gut, dass es Regex gibt. Eine Abfragesprache, die nur dazu entwickelt wurde, in Daten gewisse Muster zu finden. Genau diese können wir uns in der UUX zu Nutze machen, um Feldeingaben in Dialogen auf Richtigkeit zu prüfen.

Als Beispiel werden wir hier die E-Mail-Adresse im Personen-Dialog auf Richtigkeit prüfen. Also los gehts!

Dialog öffnen

Wechsle zuerst mal in die Administration der UUX und öffne den Layout-Designer für den entsprechenden Dialog.

Feld-Eigenschaften öffnen

Suche nun das Feld, welches du prüfen willst und öffne die Eigenschaften.

regex feld im matrix42 layout designer

Hier siehst du bereits die Eigenschaft “Muster” in der wir das Regex einfügen werden. Diese Eigenschaft ist logischerweise nur bei Text-Feldern verfügbar 😉

Regex erstellen

Bevor es nun weitergeht, mach dir einen 2ten Tab auf und öffne Regex101.com. Das ist mein persönlicher Go-To Place für Regex-Rumgeteste.

Zuerst müssen wir hier die Sprache einstellen und die Flags entfernen.

regex101 auf ecma script umstellen und parameter entfernen

Die Standard-Flags (gm) schaden natürlich nicht, für die Validierung von einzeiligen Feldern braucht man aber weder global (g) noch multiline (m)

Ein paar Worte zu Regex

Ich kann dir hier natürlich nicht auf die Schnelle Regex erklären, aber Regex101 ist ein guter Anfang. Falls du eigene, andere Felder validieren möchtest, gibt es normalerweise nach 1-2 Minuten im Internet suchen viele Beispiele, die du nutzen kannst. Verständnis ist also nicht zwingend erforderlich, kann aber auch nicht schaden.

Bei Regex101 gibt es auch eine sogenannte Library, in der man sehr viele Beispiele findet.

Auf alle Fälle musst du darauf achten, bei Regex101 wie oben zu sehen die Syntax auf ECMAScript umzustellen, da die UUX diese Syntax benutzt (mindestens führender / und schließender /).

Um eine E-Mail-Adresse zu überprüfen, gibt es viele Regex-Beispiele. Wir verwenden ein von hier “geliehenes” Regex, welches zu 99 % der RFC entspricht:

/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/Code-Sprache: HTML, XML (xml)

Regex einbauen

Nun nimm dir einfach dein erstelltes Regex und füge es in das Attribut “Muster” der Feldeigenschaften hinein:

regex in dialog der uux einfügen

Veröffentlichen nicht vergessen 😉

Testen

Jetzt noch den Dialog im Frontend öffnen und schauen, ob alles so funktioniert wie erwartet. In unserem Fall geben wir also im Personen-Dialog der UUX E-Mail-Adressen ein.

Ungültiger Wert

ungültige e mail im personen dialog

Gültiger Wert

gültige e mail im personen dialog

Weitere Regex-Beispiele

Hier noch eine kleine Regex-Sammlung aus der Praxis, damit du nicht von null starten musst. Diese Sammlung hat übrigens keinen Anspruch auf Richtigkeit oder Vollständigkeit 😉

/^[A-ZÖÜÄ]{1,3} [A-ZÖÜÄ]{1,2} [1-9]{1}[0-9]{1,3}$/Code-Sprache: ReasonML (reasonml)

DE IBAN

/^DE\d{2}[ ]\d{4}[ ]\d{4}[ ]\d{4}[ ]\d{4}[ ]\d{2}|DE\d{20}$/
/^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[#$%^&*()\-_+={}[\]|\:;"'<>,.?\/]).{8,14}$/Code-Sprache: HTML, XML (xml)
/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/
/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/

Fertig

Man sieht, Regex eröffnet viele Möglichkeiten. Um nur ein weiteres Beispiel zu nennen, könnte man ein Regex auf Telefonnummer-Felder legen, um sicherzustellen, dass diese immer in derselben Form eingegeben wird (z.B. +49 33344 4385785).

Hast du bereits Regex in eigenen Dialogen verwendet?
0
Lass uns gerne ein Kommentar oder dein Regex da!x
morpheus42 Icon

Hallo 👋
Schön, dich zu treffen.

Trag dich ein, um neue ESM-Beiträge direkt in deinen Posteingang zu bekommen!

Wir senden keinen Spam! Erfahre mehr in unserer Datenschutzerklärung.

Foto des Autors
Autor
Simon
Gründer von morpheus42, ESM Senior Consultant, Kaffee-Suchtie & Smart Home Fanatiker. A wise man once said: "Have you cleared the Cache?"

Abonnieren
Benachrichtige mich bei
guest
4 Comments
Oldest
Newest Most Voted
Inline Feedbacks
Alle Kommentare anzeigen
Send this to a friend