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!
Lesezeichen