Feldprüfung mit Datenbank Abfrage
Hallo,
Contao Version: 2.11.12
Ich habe ein Formular mit einem Feld.
Für dieses Feld habe ich eine eigene regexp Prüfung angelegt.
Diese Prüfung soll den eingegebenen Feldwert in 2 Datenbank Tabellen prüfen.
Und zwar wie folgt:
1. Tabelle: Feldwert muß vorhanden sein und status = 3 haben.
2. Tabelle: Feldwert darf nicht vorhanden sein!
Folgendes habe ich bisher realisiert:
PHP-Code:
<?php
class MyRegexps extends Backend
{
public function checkActivkey($strRegexp, $varValue, Widget $objWidget)
{
if ($strRegexp == 'myCustomRegexp') {
$objResult = $this->Database->prepare("SELECT COUNT(mm_payments.activationkey) FROM mm_payments, mm_member_license WHERE mm_payments.activationkey = '" . $varValue . "' AND mm_payments.status='3' AND mm_member_license.activationkey != '" . $varValue . "'")
->limit(1);
if ($objResult == '0') {
$objWidget->addError('The ' . $objWidget->label . ' is in use, not registered or not unlocked at this time".');
}
return true;
}
return false;
}
}
Es soll als Ergebnis nur 0 (falsch) oder 1 (wahr) zurückgeben. (daher count)
Leider funktioniert es nicht, wie es sollte.
Es wird immer die Fehlermeldung ausgegeben, obwohl die query, wenn ich sie in der Datenbank direkt ausführe, funktioniert.
Wo liegt der Fehler?
Danke!
Steffen