Server side validation mit mehreren Feldern

  • Hänge gerade vermutlich an einem Anfängerproblem. Ich will eine serverseitige Validierung eines Feldes aus einem User-Formular machen, das gegen ein anderes Feld desselben Formulars geprüft werden muss. Hier ein Auszug aus dem Formular:


    Und hier meine Testklasse:

    Mit $totalCalories = $form->getValue('calories'); will ich auf das Feld "calories" zugreifen, was aber so nicht funktioniert. Ich bin mir aber überhaupt nicht sicher, ob die $form-Variable überhaupt der richtige Zugangspunkt ist und wie ich dann an den Wert das "calories"-Feld rankomme, das ja Teil eines fieldsets ist.


    Danke für Eure Hilfe!

  • Gelöst!


    Die an die Funktion test übergebene Variable $form scheint noch nicht gefüllt zu sein, wenn die Rules aufgerufen zu werden - eigentlich logisch, da man dann ja den potentiellen Fehler mitspeichern würde. Nutzt man stattdessen die Variable $input, wo die aus dem Formular übertragenen Daten drinstehen, so klappt das wunderbar.


    Hier also der korrekte Code: