back

Knowledge Centre

Erweitern Sie die Feldvalidierung mit regulären Ausdrücken

| 06.02.2018

Erweitern Sie die Feldüberprüfung mit regulären Ausdrücken

Beim Erstellen von Drupal-Websites benötigen Sie oft spezifische Validierungsregeln für Felder. Beispielsweise möchten Sie möglicherweise sicherstellen, dass Benutzer nur eine bestimmte Anzahl von Zeichen in ein Textfeld eingeben, oder vielleicht möchten Sie E-Mail-Adressen ausschließlich von bestimmten Domains akzeptieren. In solchen Fällen bietet die Validierung durch reguläre Ausdrücke eine elegante Lösung.

Ein regulärer Ausdruck (regex) ist ein leistungsfähiges Suchmuster, das zum Abgleichen und Validieren von Zeichenketten verwendet wird. Viele Programmiersprachen enthalten spezialisierte Bibliotheken und Funktionen, die mit diesen Ausdrücken arbeiten. PHP, das Drupal antreibt, bietet robuste Regex-Unterstützung, die wir effektiv nutzen können. Eine einfache Möglichkeit, die Regex-Validierung in Drupal zu implementieren, besteht durch das **Drupal RegEx Field Validation** Modul.

Das RegEx Field Validation Modul, das sowohl Drupal 7 als auch Drupal 8/9 unterstützt, bietet eine benutzerfreundliche Oberfläche zum Hinzufügen von Validierungsregeln zu Content-Typ-Feldern. Nach der Installation fügt das Modul diese Konfigurationsoptionen zu jedem Textfeld in Ihren Content-Typen hinzu:

  • Feld mit RegEx validieren: Eine Checkbox, die die Regex-Validierung aktiviert oder deaktiviert. Wenn sie aktiviert ist, werden zusätzliche Konfigurationsoptionen angezeigt.
  • Regulärer Ausdruck: Ein Textbereich, in dem Sie Ihr Validierungsmuster eingeben können.
  • Fehlermeldung: Ein Textfeld, in dem Sie die bei Validierungsfehlern angezeigte Nachricht anpassen können.

Obwohl mehrere Module Feldvalidierungsfunktionen bieten, zeichnet sich dieses Modul durch seine Einfachheit und fokussierte Funktionalität aus. Es wird aktiv gewartet und ist sowohl für Drupal 7 als auch für Drupal 8/9 verfügbar.

Hier sind einige praktische Regex-Muster, die Sie verwenden können:

^[^<]{0,100}$


Validiert Text, der zwischen 0 und 100 Zeichen enthält.

^[AaBb]$


Validiert genau ein Zeichen: A, a, B oder b.

^(http|https):\/\/.{2,80}$


Validiert URLs, die mit "http" oder "https" beginnen und zwischen 2 und 80 Zeichen enthalten.

^.{2,40}@.{2,50}\.[a-zA-Z]{2,5}$


Validiert E-Mail-Adressen mit 2-40 Zeichen vor dem "@", 2-50 Zeichen für den Domainnamen und 2-5 Buchstaben für die Top-Level-Domain.

^(ABC|DEF|GHI|JKL|MNO|PQR|STU|VWX)?$


Validiert dreibuchstabige Zeichenketten aus der angegebenen Liste.

^([0-9]+(\.[0-9]{2})?)?$


Validiert Zahlen mit optional zwei Dezimalstellen (z.B. 29,99).

^[0-9.]{1,8}$

Validiert numerische Werte zwischen 1 und 8 Ziffern.

^[^<\x09\x0a\x0d]{0,10}$

Validiert einzeiligen Text zwischen 0 und 10 Zeichen, ohne HTML-Markup.

^[^<]{0,100}$

Validiert mehrzeiligen Text zwischen 0 und 100 Zeichen, ohne HTML-Markup.

^[^<\x09\x0a\x0d]{0,1000}$

Validiert Text, der zwischen 0 und 1000 Zeichen enthält, ohne HTML-Markup.

Diese regulären Ausdrücke bieten eine solide Grundlage für gängige Validierungsszenarien in Drupal. Denken Sie daran, Ihre Muster gründlich zu testen, bevor Sie sie in einer Produktionsumgebung implementieren.

Erweitern Sie die Feldüberprüfung mit regulären Ausdrücken
Top
white-paper
  • Wissen
    Wissenszentrum
    Im Gehirn einer KI
  • Wissen
    Wissenszentrum
    Feinabstimmung von LLaMA zur Nachbildung von Eminescus literarischem Stil
  • Wissen
    Wissenszentrum
    Ein neues Zeitalter beginnt: Drupal CMS 1.0 startet