Contao-Camp 2024
Ergebnis 1 bis 11 von 11

Thema: Eingabeprüfung gegen DB-Tabelle

  1. #1
    Contao-Nutzer Avatar von wdm
    Registriert seit
    11.04.2011.
    Beiträge
    230

    Standard Eingabeprüfung gegen DB-Tabelle

    Gibt es eine Möglichkeit den Wert eines Formular-Eingabefeldes, abweichend von den Standardvorgaben für die Prüfung, bei verlassen des Feldes auch gegen eine eigene Datenbanktabelle zu prüfen?

    Hintergrund ist folgender. Für eine Zählerstandserfassung soll eine eigene DB-Tabelle mit Kundennummer und Zählernummer erstellt und separat vorbefüllt werden.
    Im Erfassungsformular soll nun bei Eingabe von Kundennummer und Zählernummer im Hintergrund geprüft werden, ob es diese Kombination in der DB-Tabelle gibt. Erst wenn dies der Fall ist, sollen die weiteren Felder zum Zählerstand und Ablesedatum eingeblendet werden (um Spass-/Falscheingaben zu unterbinden) und ein Absenden des Formulars möglich sein. Die optionale Einblendung würde ich über advanced_form oder eine ähnliche Erweiterung abdecken.
    Nur mit der Prüfung weiß ich so gar nicht wo ich ansetzen soll, da ich kein PHP-Programmierer bin.

    Vielleicht hat jemand schon einmal so ein oder ähnliches Problem gelöst und kann mir weiterhelfen?

  2. #2
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    wenn das während der Eingabe geprüft werden soll, müsste das per AJAX erfolgen - zusätzlich sollte aber noch eine Validierung nach dem Absenden implementiert werden https://docs.contao.org/dev/referenc...dateFormField/

  3. #3
    Contao-Nutzer Avatar von wdm
    Registriert seit
    11.04.2011.
    Beiträge
    230

    Standard

    Gibt es da nichts ohne AJAX / JS? Sollte auch laufen wenn JS im Browser deaktiviert ist.
    Ich hatte dazu hier irgendwo mal was von einem save_callback gelesen. Finde den Beitrag aber nicht mehr (war glaube ich auch schon von 2011).

  4. #4
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von wdm Beitrag anzeigen
    Gibt es eine Möglichkeit den Wert eines Formular-Eingabefeldes, abweichend von den Standardvorgaben für die Prüfung, beim Verlassen des Feldes auch gegen eine eigene Datenbanktabelle zu prüfen?
    bitte nochmal lesen, was Du selbst geschrieben hast ^^

  5. #5
    Contao-Nutzer Avatar von wdm
    Registriert seit
    11.04.2011.
    Beiträge
    230

    Standard

    Wie gesagt, ich bin kein Programmierer. Deshalb bitte ich um Nachsicht, wenn ich manche Zusammenhänge / Abhängigkeiten nicht auf dem Schirm habe.
    Wenn die Feldprüfung beim verlassen nur mit AJAX funktioniert, dann irgnorier meinen letzten Post einfach.

  6. #6
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Deine Webseite ist bei dir auf dem Rechner (im Browser) - die Info, die Du prüfen willst, ist auf dem Server... Wenn Du das prüfen möchtest, musst Du irgendwie den Server abfragen.

    Klassicher Weise, sendest Du das Formular ab - das wird auf dem Server geprüft und Antwort geht zurück an Dich (Rechner)... das Ganze eben mit komplettem Neuladen der Seite

    Wenn das während der Eingabe gepfüft werden soll, geht das nur per Ajax, was "unsichtbar" eine Abfrage an den Server stellt und das Ergebnis in die bestehende Webnseite einschleust.

    Du könntest natürlich alle Kombis mit der Webseite mitliefern (auf Deinen Rechner) und rein auf der Webseite prüfen - aber auch das geht nur mit JavaScript.

  7. #7
    Contao-Nutzer Avatar von wdm
    Registriert seit
    11.04.2011.
    Beiträge
    230

    Beitrag

    OK, danke. Jetzt habe ich es verstanden.
    Hättest Du dazu evtl. auch ein Beispiel, wie so ein Script aussehen müsste bzw. wo ich das einbauen muss?
    Ich nehme mal an dazu brauche ich ein eigenes Formular Template auf Basis von form_wrapper.html5?
    Geändert von wdm (22.01.2022 um 16:17 Uhr)

  8. #8
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von wdm Beitrag anzeigen
    A: Hättest Du dazu evtl. auch ein Beispiel, wie so ein Script aussehen müsste bzw. wo ich das einbauen muss?
    B: Ich nehme mal an dazu brauche ich ein eigenes Formular Template auf Basis von form_wrapper.html5?
    A: nein, kenne auch keine Erweiterung, wo man sowas abgucken könnte...

    B: das ist letztendlich egal wo - kannst auch einfach ein ce_html_meine-ajax-validierung.html bauen und irgendwo auf der Seite als CE einbinden

  9. #9
    Contao-Fan Avatar von operatorone
    Registriert seit
    19.06.2009.
    Ort
    Kitzingen
    Beiträge
    547

    Lächelndes Gesicht Erfolgreich gelöst?

    @wdm Konntest du dein Vorhaben erfolgreich umsetzen? Ich hätte eine gleichgeartete Anfrage und suche nach einer Lösung

  10. #10
    Contao-Nutzer Avatar von wdm
    Registriert seit
    11.04.2011.
    Beiträge
    230

    Standard

    @operatorone da von Kundenseite noch ein paar Anforderungen dazu kamen, habe ich das als Auftragsarbeit an eine externe Entwickler-Agentur weitergegeben, die daraus eine eigene Erweiterung machen.
    Da sich das Projekt gerade in der Entwicklungs- / Umsetzungsphase befindet kann ich zur Lösung noch nichts sagen.

  11. #11
    Contao-Fan Avatar von operatorone
    Registriert seit
    19.06.2009.
    Ort
    Kitzingen
    Beiträge
    547

    Standard

    @wdm Danke für deine Rückmeldung. Wäre toll, wenn du – nach Abschluss des Projekts – hier posten könntest, welche Erweiterung es geworden ist und was sie ggf. kostet oder einfach einen Link dazu. Das wäre ganz prima.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •