Ergebnis 1 bis 3 von 3

Thema: Formularfeld abfrage mittels validateFormField-Hook leitet auf weisse Seite

  1. #1
    Contao-Nutzer Avatar von opcode
    Registriert seit
    19.01.2011.
    Ort
    Berlin
    Beiträge
    76

    Standard Formularfeld abfrage mittels validateFormField-Hook leitet auf weisse Seite

    Hi,

    habe ein Registrierungs-Formular, welches ein Textfeld enthält das durch den validateFormField-Hook eine Datenbanktabelle mit vorhandene Nummern abfragen soll um doppelte Einträge zu verhindern.
    Habe also in einer "Modul"-config.php eine eigene callback-Methode registriert:
    Code:
    $GLOBALS['TL_HOOKS']['validateFormField'][] = array('NumberValidator', 'onvalidateFormField');
    Leider funktioniert die Abfrage nur zum Teil, denn das Formular gibt nur die Fehlermeldung aus das eine Nummer schon vorhanden ist! Aber bei einer neuen Nummer wird die Weiterleitung auf die Bestätigungsseite leider nicht ausgeführt und bleibt mit einer weißen Seite hängen:
    Code:
    class NumberValidator extends Backend {
      public function onvalidateFormField($objWidget, $formId) {
        if ($objWidget->hasErrors()) {
          return $objWidget;
        }
        if ($objWidget->id == 185) {
          // gewuenschte vorzubelegende Daten abfragen
          $sql = sprintf(
            "SELECT * FROM cat_reg_nummern WHERE cat_ref_vnr = '%s'", 
            mysql_real_escape_string($_REQUEST['fsvnr'])); 
          $res = $this->Database->prepare($sql)
                      ->limit(1)
                      ->execute();
          $arrayPageData = $res->fetchAssoc();           
          if (!empty($arrayPageData)) {
            $objWidget->addError('Diese Nummer ist bereits vergeben!');
          } 
       }
    
        return $objWidget;
      }
    }
    Vielleicht kann mir hier einer von Euch weiterhelfen..

    Danke!
    Geändert von opcode (02.04.2012 um 07:26 Uhr)

  2. #2
    Contao-Urgestein Avatar von folkfreund
    Registriert seit
    09.04.2010.
    Beiträge
    1.928

    Standard

    Hallo opcode,

    in diesem Beispiel hier wird kein return &objWidget gemacht...

    Und dann gab es öfter Probleme mit leeren Seiten, wenn am Ende der Datei (hinter dem schließenden '?>' noch ein Zeilenumbruch oder Leerzeilen folgten.

    Hoffe das hilft weiter,
    folkfreund

  3. #3
    Contao-Nutzer Avatar von opcode
    Registriert seit
    19.01.2011.
    Ort
    Berlin
    Beiträge
    76

    Standard

    Hallo folkfreund,

    danke für deine Antwort, des Rätsels Lösung waren dann doch nicht deine Tipps sondern etwas ähnliches, nämlich einfach die Schreibweise 'validateFormField' die ich jetzt genommen hatte statt davor 'onvalidateFormField'
    Code:
    $GLOBALS['TL_HOOKS']['validateFormField'][] = array('NumberValidator', 'validateFormField');
    jetzt funktioniert es super...

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
  •