[2486 Aufrufe]

3.7 Abschnitt: Fields > eval > rgxp

In diesem Text werden wir uns mit den regulären Ausdrücken beschaftigen. Mit ihnen kann festgelegt werden, welche Werte in ein Feld eingegeben werden können.

Hier eien verkürtze Übersicht über das DCA:

<?php

$GLOBALS['TL_DCA']['tl_testtable'] = [
    // Config ...
    // List ...
    // Palettes ...
    // Subpalettes ...
    'fields' => [
        'title' => [
            'exclude'   => true,
            'inputType' => 'text',
            'eval'      => ['rgxp'=>'...'], // Hier werden die regulären Ausdrücke eingefügt ("..." muss ersetzt werden)
            'sql'       => "varchar(255) NOT NULL default ''"
        ],
        // ...
    ]
];

Auflistung der regulären Ausdrücke

Ausdruck Bedeutung Beispeil
digit erlaubt alle positiven und negativen Zahlen, sowie Punkt (.) und Minus (-) 123456, -987654
natural erlaubt alle positiven Zahlen, inkl. 0 0, 1234
alpha erlaubt alle Buchstaben, sowie Punkt (.), Minus (-) und Leerzeichen (" ") - Beispiel.Test -
alnum erlaubt alle aphanumerischen Zeichen, sowie Punkt (.), Minus (-), Unterstrich (_) und Leerzeichen (" ") - Test_123456 -
extnd erlaubt alle Zeichen, außer den folgenden: #<>()\\= { {date}}: Test12346
date erlaubt nur gültige Datumswerte 01.01.1970
time erlaubt nur gültige Zeitwerte 15:00
datim erlaubt nur eine Kombination aus einem gültigem Datums- und Zeitwert 01.01.1970 15:00
friendly erlaubt nur eine E-Mail-Adresse im "friendly name format" e@sy Solutions IT <info@easySolutionsIT.de>
email erlaubt nur gültige E-Mail-Adressen info@easySolutionsIT.de
emails erlaubt ein Liste von gültige E-Mail-Adressen (wird bei Feldern mit multiple=>true verwendet) [info@easySolutionsIT.de, info@example.org]
url erlaubt nur gültige URLs https://easySolutionsIT.de, easySolutionsIT.de
alias erlaubt nur gültige Alias startseite
folderalias erlaubt gültige Alias inkl. "Foldern" startpunkt/seite1
phone erlaubt positive Zahlen, sowie Leerzeichen (" "), Plus (+), Minus (-), Klammern (()) und Slash (/) (+49) 2389 / 90 39 38 7
prcnt erlaubt ganze Zahlen zwischen 0 und 100 98
locale erlaubt Länderkennzeichen de_DE, de
language erlaubt Sprachcodes de-DE, de
fieldname erlaubt Feldnamen ( verfügbar ab Contao 3.5.16 / 4.2.3) id
httpurl erlaubt absolute URLs ( verfügbar ab Contao 4.11) https://easySolutionsIT.de
custom erlaubt es individuelle Ausdrücke festzulegen ( verfügbar ab Contao 4.11) 'eval' => ['rgxp' => 'custom', 'customRgxp' => '/^[1-9]\d*$/']

Falls aufwendigere Prüfungen nötig sind, können mit dem addCustomRegexp-Hook eigene reguläre Ausdrücke erstellt werden. Wir werden uns dies im Kapitel über Hooks noch genau ansehen.