4.4.x mp_forms gleicher Error mehrfach angezeigt
Guten Abend,
ich habe ein mehrseitiges Formular mit mp_forms erstellt und habe auf der 2. von 3 Seiten vier Inputfelder. Die Values dieser 4 Inputfelder möchte ich gerne zu einem String zusammenfassen, bevor es zur nächsten Seite geht und abfragen, ob die zusammengefassten Values in einer entsprechenden Tabellen in der Datenbank existieren. Für die Abfrage nutze ich aktuell den validateFormListener Hook, der wie folgt aussieht:
PHP-Code:
if(strpos($form->title, "Form Registration") !== false && isset($_POST["item1"]) && isset($_POST["item2"]) && isset($_POST["item3"]) && isset($_POST["item4"])) {
$iid = \Input::post('item1') . '-' . \Input::post('item2') . '-' . \Input::post('item3') . '-' . \Input::post('item4');
$dataBase = \Database::getInstance();
$sql = 'SELECT id FROM tl_identification_code WHERE code = "' . $iid . '"';
$result = $dataBase->prepare($sql)->execute();
if($result->numRows == 0) $widget->addError($GLOBALS['TL_LANG']['custom']['err']['unique']['identification']);
}
Zur Erklärung: Ich habe mehrsprachige Formulare, aber der Code soll nur innerhalb des Registrierungsformulars angewendet werden und auch nur, wenn die Inputs von Item1-Item4 auf Seite 2 ausgefüllt wurden. Die Query ist selbsterklärend, nur wird meine Fehlermeldung bei jeden Inputfeld wiedergegeben, d.h. ich habe die gleiche Fehlermeldung 4 mal auf der Seite. Ich dachte mir, dass ich ja theoretisch eine if-Abfrage hinzufügen kann, wo ich nach
PHP-Code:
$widget->name == "item4"
abfrage, aber sofern ich das miteinfüge, erfolgt keine Fehlermeldung mehr und das Formular geht zur nächsten Seite über.
Weiß jemand, warum das ignoriert wird bzw. kann mir eine gängigere Lösung vorschlagen?