Ergebnis 1 bis 5 von 5

Thema: validateFormField Hook greift erst beim 2x?

  1. #1
    Contao-Nutzer
    Registriert seit
    06.07.2016.
    Beiträge
    12

    Standard validateFormField Hook greift erst beim 2x?

    Folgendes Szenario - ich habe im Formulargenerator ein Formular mit folgenden Feldern erzeugt:
    form.PNG
    Das letzte Feld ist, wie ersichtlich, eine Sicherheitsfrage.

    Weiters habe ich eine NotificationHook erstellt welche bei erfolgreichem Senden einer Notifcation eine $_SESSION-Variable setzt und eine validateFormField-Hook, welche die selbe Session Variable mit einem anderen Wert setzt.
    PHP-Code:
    class MyNotificationHook 
    {    
        public function 
    execute($objMessage$arrTokens$language$objGatewayModel)
        {
            
    $_SESSION['notification_sent'] = 'successful';
            return 
    true;
        }
    }
        
    class 
    MyValidateHook
    {    
        public function 
    myValidateFormField(Widget $objWidget$intId$arrForm)
        {
            
    $_SESSION['notification_sent'] = 'error';
            return 
    $objWidget;
        }

    Grundsätzlich erfüllt diese Lösung auch meinen vorgedachten Zweck.
    Fülle ich das Formular aus und beantworte die Sicherheitsfrage korrekt, so wird die Session Variable auf "successful" gesetzt. Sende ich das selbe Formular nochmal mit falscher Sicherheitsfrage ab, so sollte sich der Wert auf "error_validate" ändern. Das geschieht jedoch nicht, bzw. komischerweise erst wenn ich die Sicherheitsfrage zum 2x falsch beantworte und das Formular absende.

    Nach längerer Fehlersuche konnte ich einfach nicht herausfinden wieso sich die Hook so verhält.
    Habe ich irgendwo einen Denkfehler? Jegliche Hilfestellung wird dankend angenommen!

  2. #2
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ohne zu wissen was du da machst, würde ich dir empfehlen das Manipulieren der Session mit der Klasse Session durchzuführen. https://github.com/contao/core/blob/...ao/Session.php
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  3. #3
    Contao-Nutzer
    Registriert seit
    06.07.2016.
    Beiträge
    12

    Standard

    Habe selbiges auch bereits mit der Session-Klasse versucht. Resultiert im gleichen Verhalten.
    Irgendeine andere Idee warum die Hook erst beim zweiten Mal greifen könnte?

  4. #4
    Contao-Nutzer Avatar von miniA4kuser
    Registriert seit
    14.11.2013.
    Beiträge
    130

    Standard

    So wie es ausschaut benutzt du das Notification Center mit einem Formular vom Contao Core Formulargenerator.

    Ich weis nicht genau wie das bei dem Notification Center ist, aber ich denke mal das der HOOK erst gefeuert wird, wenn das Formular valide ist.

    Auf was prüfst du denn in deiner Funktion myValidateFormField? Oder ist das schon die gesammte Funktion?


    Hast du mal geprüft in welcher Reihenfolge und ob überhaupt deine HOOK's gefeuert werden?
    Tippfehler unterliegen nicht dem Copyright und können frei weitergegeben werden.

  5. #5
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.116
    Partner-ID
    10107

    Standard

    Erkläre dein Vorhaben mal genauer. So irgendetwas über eine Session Variable zu lösen klingt generell nach keiner guten Idee.

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
  •