Gutschein Code Validierung
Habe noch ein Validierungsproblem
Von manchen Veranstaltern wird gefordert das sie Gutschein-Codes verteilen können und dann die Zahlung per Einzugsermächtigung weg fällt.
Die Codes können von mir vorgegeben werden. Das heißt es werden z.B. 10 Gutscheine benötigt und ich kann also 10 8-stellige Codes (länge ist aber im Prinzip beliebig und nicht vorgegeben) nennen, die dann in einem Formularfeld auf Gültigkeit geprüft werden müssen.
Gibt es hier eine Möglichkeit über die Eingabeprüfung?
Habe schon ein bischen gegoogelt und irgendwelche Hooks gefunden, muss aber gestehen das ich da nicht wirklich weiter gekommen bin.
Es sollte auch so sein, dass ich für jedes Veranstalterformular unterschiedliche Gutschein-Codes verwenden kann.
Um nur ein Formular verwenden zu müssen wäre es gut, wenn ein Gutscheincode eingegeben wird die Kontodetails nicht mehr als Pflichtfeld definiert oder ganz ausgeblendet werden. Das könnte ich aber auch über eine Vorauswahl (Einzugsermächtigung oder Gutschein) mit zwei Formularen lösen, wenn es nicht so einfach möglich ist.
inspiredminds/contao-extended-form-fields
Habe das im Titel angegebene Paket gefunden, welches eine Black- oder Whitelist ermöglicht. Eine Whitelist sollte das Problem ja lösen. Werde das testen ...
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Zitat von fiedsch
Danke @spooky. Soweit ich es verstanden habe, ist das auch bereits so. Es geht aber zusätzlich darum, die ein Mal verwendeten Codes zu „invalidieren“.
Ja genau, so ist es und funktioniert auch mit dem gewissen Sicherheitsproblem.
Zitat:
Zitat von fiedsch
Ist das ein "sollte gesetzt sein", oder hast Du das überprüft?
In dem anderen Code mit dem Sicherheitsptoblem funktioniert das \Input::post('form_id') deshalb gehe ich davon aus.
Zitat:
Zitat von fiedsch
$tablename deshalb, weil Du geschrieben hattest, daß Du je Veranstaltung eine eigene Tabelle haben willst.
D.h. der erste Schritt ist, anhand der ID des abgeschickten Formulars herauszufinden, in welcher Tabelle der Gutscheincode gesucht werden muss.
Ok, aber der Tabellenname passt ja der hier gesetzt wird 1 => 'tl_an_testlauf',
Zitat:
Zitat von fiedsch
Was hast Du genau probiert und wie äußert sich das "funktioniert nicht"?
Das bezog sich darauf das ich probiert habe statt $tablename $tbl_name zu verwenden
Zitat:
Zitat von fiedsch
Da Du bei beiden "Fehlersituationen" den gleichen Text hast, kannst Du so nicht sagen, wo der Fehler auftritt. Ich würde daher den
Text des ersten addError() ändern:
Habe ich - es handelt sich um die erste Meldung
Das ganze sieht so jetzt aus wie gesagt bei jedem Feld kommt die Meldung
Anhang 22902
Zitat:
Zitat von fiedsch
Was steht denn in Contaos System-Log? Heißt, wird das System::log() ausgeführt? Das wäre dann der Beleg dafür, daß dies Dein Fehler ist.
Du müsstest Dann die $tablenames so anpassen, daß zum übergebenen $form_id auch ein Eintrag existiert -- die $form_id sollte auch im Log-Eintrag stehen.
In den Logs ist keine Meldung zu sehen nur irgendwas das das favicon nicht gefunden wird aber das kommt dauernt und hat damit wohl nichts zu tun