Ergebnis 1 bis 4 von 4

Thema: Formularüberprüfung per Hook

  1. #1
    Contao-Fan Avatar von ku-ma-122
    Registriert seit
    20.06.2009.
    Ort
    Kulmbach
    Beiträge
    605

    Standard Formularüberprüfung per Hook

    Ich versuche per addCustomRegxp-Hook eine Formularüberprüfung (Wenn Wert kleiner als) durchzuführen. Diese schlägt aber fehl.

    Config.php
    PHP-Code:
    $GLOBALS['TL_HOOKS']['addCustomRegexp'][] = array('myCheck''myAddCustomRegexp'); 
    myCheck.php
    PHP-Code:
    class myCheck extends Frontend{

        public function 
    myAddCustomRegexp($strRegexp$varValueWidget $objWidget)
        {
        if (
    $strRegexp == 'formularfeld')
        {
            if (
    $varValue '1000')
            {
            
    $objWidget->addError('Field' .$objWidget->label 'Fehlermeldung');
            }
                return 
    true;
        }
        return 
    false;
        }

    Kann mir bitte jemand auf die Sprünge helfen, ich peil es gerade nicht
    Gruß
    Markus

    ---
    http://www.76pixel.de

  2. #2
    Contao-Fan Avatar von webster
    Registriert seit
    14.09.2010.
    Ort
    Kiel
    Beiträge
    460

    Standard

    Was genau bedeutet denn "diese schlägt fehl"? Bekommst Du nicht das gewünschte Ergebnis oder wird die Methode gar nicht ausgeführt? Und was genau bezweckst Du mit dem Vergleich (nur zum besseren Verständnis)?
    Was ist das? - Blaues Licht - Und was macht es? - Es leuchtet blau...

  3. #3
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.451
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Moin,

    also ich vermute mal, dass "schlägt fehl" bedeutet ... es tut sich gar nichts.

    das wäre nach meinem Verständnis auch richtig, da "Der addCustomRegexp-Hook wird beim Antreffen eines unbekannten regulären Ausdrucks ausgeführt." (siehe http://www.contao.org/de/hooks.html#addCustomRegexp)

    Da dieses Reguläre Ausdruck aber dem Formular erst mal nicht bekannt ist, wird er auch nicht ausgewertet.

    Du kannst das aber folgendermaßen lösen:

    Eintrag in system/config/dcaconfig.php:
    PHP-Code:
    $GLOBALS['TL_DCA']['tl_form_field']['fields']['rgxp']['options'][] = 'myRegExp'
    (fügt den Reg. Ausdruck der Liste "Eingabeprüfung" in der Formular Definition hinzu)

    Zur Übersetzung Eintrag in system/config/langconfig.php:
    PHP-Code:
    $GLOBALS['TL_LANG']['tl_form_field']['myRegExp'] = array('My Regular Expression''Accepts somthing special.'); 
    (ggf. auch wie hier beschrieben http://www.contao.org/de/custom-conf...l#translations)

    Im Formular an dem entsprechenden Feld aus der Liste von "Eingabeprüfung" den neuen Wert wählen und speichern.

    Nun wird beim Absenden des Formulars das Feld entsprechend der Definition im Hook validiert und ggf. eine Fehlermeldung angezeigt.

    Grüße, Cliff

  4. #4
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.451
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hab das ganze nochmal als Wiki Beitrag verfasst: http://de.contaowiki.org/Hook_%27add...e_freischalten

    Grüße, Cliff

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •