Ergebnis 1 bis 36 von 36

Thema: Datum validieren

  1. #1
    Contao-Fan
    Registriert seit
    28.11.2009.
    Ort
    Remscheid
    Beiträge
    934

    Standard Datum validieren

    Hallo zusammen,

    wie kann ich bei einem Datumsfeld eine Mindestbedingung prüfen? Am besten schon bevor man das Formular abschicken kann?
    Ich habe das Form Validation Plugin von Trilobit installiert, das wandelt aber nur die mitgelieferten Contao- Regeln in Realtime-Prüfungen.

    Ich will einfach nur prüfen, ob bei einem angegeben Geburtstag ein Mindestalter zu einem bestimmten Stichtag erfüllt ist.

    Danke & Gruß

    Neelix

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    https://developer.mozilla.org/en-US/...ent/input/date

    Per angepassten Template könntest du type="date" und max="…" ausgeben lassen.
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    7.080
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Als Nichtentwickler würde ich es mit folgender PHP-Funktion probieren https://www.php.net/manual/de/datetime.diff.php
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  4. #4
    Contao-Fan
    Registriert seit
    28.11.2009.
    Ort
    Remscheid
    Beiträge
    934

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    https://developer.mozilla.org/en-US/...ent/input/date

    Per angepassten Template könntest du type="date" und max="…" ausgeben lassen.
    Dann müsste ich ja das Datum hart kodieren und außer mir könnte es keiner ändern.

  5. #5
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Zitat Zitat von neelix Beitrag anzeigen
    Dann müsste ich ja das Datum hart kodieren und außer mir könnte es keiner ändern.
    Nein, das richtige Datum rechnest du dir ja natürlich per PHP aus (musst du ja sowieso auch in deinem validateFormField Hook für die Serverseitige Validierung).
    » sponsor me via GitHub or PayPal or Revolut

  6. #6
    Contao-Fan
    Registriert seit
    28.11.2009.
    Ort
    Remscheid
    Beiträge
    934

    Standard

    anpassen müsste ich dann vermutlich diese Zeile:

    Code:
      <input type="<?= $this->type ?>" name="<?= $this->name ?>" id="ctrl_<?= $this->id ?>" class="text<?php if ($this->hideInput): ?> password<?php endif; ?><?php if ($this->class): ?> <?= $this->class ?><?php endif; ?>" value="<?= Contao\StringUtil::specialchars($this->value) ?>"<?= $this->getAttributes() ?>>
    Aber das Datum ist ja variabel.

    Das ist ein Anmeldeformular und je nach Veranstaltung müssen die Teilnehmer mal min. 6 mal min. 12 Jahre alt sein. Und das immer gerechnet zum ersten Tag der Veranstaltung.

    Und so müsste ich dann ja immer für jede Veranstaltung ein neues Template bauen.

  7. #7
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Nein, das machst du im Template dann dynamisch, je nach dem wie du erkennen kannst, für welche Veranstaltung das aktuelle Formular gerade ist.
    » sponsor me via GitHub or PayPal or Revolut

  8. #8
    Contao-Fan
    Registriert seit
    28.11.2009.
    Ort
    Remscheid
    Beiträge
    934

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Nein, das machst du im Template dann dynamisch, je nach dem wie du erkennen kannst, für welche Veranstaltung das aktuelle Formular gerade ist.
    Da bin ich vermutlich raus. Einfacher wäre es, wenn Contao beim Typ Datum einfach ein Feld für Min- bzw. Max- Werte hätte. Für andere Felder gibt es die ja.

    Sowas braucht man ja immer mal wieder. Nicht nur um Altersbegrenzungen abzubilden.

  9. #9
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Zitat Zitat von neelix Beitrag anzeigen
    Da bin ich vermutlich raus. Einfacher wäre es, wenn Contao beim Typ Datum einfach ein Feld für Min- bzw. Max- Werte hätte. Für andere Felder gibt es die ja.
    Was würde dir das helfen in diesem Fall?
    » sponsor me via GitHub or PayPal or Revolut

  10. #10
    Contao-Fan
    Registriert seit
    28.11.2009.
    Ort
    Remscheid
    Beiträge
    934

    Standard

    Dass ich einfach angeben könnte, dass kein Datum z.B. nach dem 01.03.2012 möglich ist.
    Und bei z.B. einer Altersbegrenzung nach oben nicht früher als z.B. 01.01.2002

  11. #11
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Zitat Zitat von neelix Beitrag anzeigen
    Dass ich einfach angeben könnte, dass kein Datum z.B. nach dem 01.03.2012 möglich ist.
    Ich dachte du willst es nicht hardcoden? Wenn das reicht kannst du es ja im Template anpassen. Oder das per DCA Anpassung hinzufügen.
    » sponsor me via GitHub or PayPal or Revolut

  12. #12
    Contao-Fan
    Registriert seit
    28.11.2009.
    Ort
    Remscheid
    Beiträge
    934

    Standard

    Nicht im Template.
    Aber in den Optionen des Formulars kann das ja dann jeder wenn nötig anpassen.

    DCA habe ich einmal probiert und es hat nicht geklappt.

  13. #13
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    7.080
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich glaube er möchte ein zusätzliches Feld im Backend in das er eingibt, dass das maximale Datum einen bestimmten Wert nicht überschreiten darf und gegen dieses Datum wird dann die Formulareingabe geprüft.
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  14. #14
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Zitat Zitat von neelix Beitrag anzeigen
    DCA habe ich einmal probiert und es hat nicht geklappt.
    Du musst immer genauer erklären was du versucht hast.
    » sponsor me via GitHub or PayPal or Revolut

  15. #15
    Contao-Fan
    Registriert seit
    28.11.2009.
    Ort
    Remscheid
    Beiträge
    934

    Standard

    Da hatte ich mal probiert den Dateieigenschaften ein Feld für die Angabe des Urhebers hinzuzufügen.
    Das Feld hatte ich dann irgendwann im Backend, aber ohne Bezeichnung, Kommentar und Funktion. Irgendwann habe ich aufgegeben. Ich bin kein Entwickler.

    Mit fällt nur gerade was anderes auf:

    Ich wähle zwar als Eingabeprüfung "Datum" aus. Der Feldtyp aber ist "Textfeld". Und als solches steht es auch im Quelltext:

    Code:
    <input type="text" name="gebdatum" id="ctrl_53" class="text mandatory" value="" required="" placeholder="__.__.____" minlength="10" maxlength="10">
    Dementsprechend kommt da auch kein Datepicker. Anderes Thema: https://community.contao.org/de/show...it-Date-Picker

    Aber vllt. klappt diese Erweiterung noch: https://github.com/hofff/contao-calendarfield
    Die könnte dann eigentlich in den Core wandern...
    Geändert von neelix (12.01.2024 um 14:16 Uhr)

  16. #16
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Zitat Zitat von neelix Beitrag anzeigen
    Ich wähle zwar als Eingabeprüfung "Datum" aus. Der Feldtyp aber ist "Textfeld". Und als solches steht es auch im Quelltext:
    Ja, das musst du dann selbst entsprechend anpassen (inkl. Ausgabe von max="").
    » sponsor me via GitHub or PayPal or Revolut

  17. #17
    Contao-Fan
    Registriert seit
    28.11.2009.
    Ort
    Remscheid
    Beiträge
    934

    Standard

    Ja, aber wäre es nicht geschickter in Contao den Feldtyp "Datum" anzulegen. Denn wenn im HTML "type=date" steht, blenden die Browser ja auch automatisch einen Date-Picker ein. Das passiert jetzt nicht.
    Und dann könnte man auch die Eigenschaften des Feldes im Backend konfigurierbar machen.

    Ich habe mir jetzt das Template anpasst und das Feld für den Vorgabewert misbraucht. Das brauche ich in dem Fall ja nicht.

  18. #18
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Zitat Zitat von neelix Beitrag anzeigen
    Das passiert jetzt nicht.
    Doch, wenn du die Validierung auf "Datum" stellst, wird type="date" ausgegeben seit Contao 5.1.0 (https://github.com/contao/contao/pull/4936). In früheren Contao Versionen ist das auch via https://extensions.contao.org/?p=ins...ed-form-fields unterstützt.
    » sponsor me via GitHub or PayPal or Revolut

  19. #19
    Contao-Fan
    Registriert seit
    28.11.2009.
    Ort
    Remscheid
    Beiträge
    934

    Standard

    Ich bin ja hier noch auf 4.13 solange dieses noch im LTS Fenster ist.
    Dann schau ich mir mal diese Erweiterung an.

  20. #20
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Zitat Zitat von neelix Beitrag anzeigen
    Ich bin ja hier noch auf 4.13 solange dieses noch im LTS Fenster ist.
    Wenn du neue Features aus höheren Contao Versionen benötigst, wirst du auch zwangsläufig aktualisieren müssen.
    » sponsor me via GitHub or PayPal or Revolut

  21. #21
    Contao-Fan
    Registriert seit
    28.11.2009.
    Ort
    Remscheid
    Beiträge
    934

    Standard

    noch ist die 5.3 ja nicht raus.
    Und im Gegensatz zu dir habe ich nicht alle Neuerungen im Kopf. ;-)

  22. #22
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Zitat Zitat von neelix Beitrag anzeigen
    noch ist die 5.3 ja nicht raus.
    Du musst ja nicht unbedingt auf die 5.3 aktualisieren, das Feature ist wie gesagt ab 5.1 verfügbar.
    » sponsor me via GitHub or PayPal or Revolut

  23. #23
    Contao-Fan
    Registriert seit
    28.11.2009.
    Ort
    Remscheid
    Beiträge
    934

    Standard

    5.1 ist aber ja schon EOL.

  24. #24
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Zitat Zitat von neelix Beitrag anzeigen
    5.1 ist aber ja schon EOL.
    Ein Feature, das in 5.1 verfügbar ist, ist natürlich auch in höheren Versionen verfügbar.
    » sponsor me via GitHub or PayPal or Revolut

  25. #25
    Contao-Fan
    Registriert seit
    28.11.2009.
    Ort
    Remscheid
    Beiträge
    934

    Standard

    Das ist mir schon klar.

    Aber jetzt noch die 5.1 zu installieren macht keinen Sinn, wenn in drei Wochen die 5.3 LTS veröffentlicht wird.
    Aber die 4.13 ist schön abgehangen.

  26. #26
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    7.080
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich arbeite für Kundenprojekte auch meist mit LTS-Versionen, aber wenn ich ein neues Feature nutzen möchte spricht auch nichts gegen die aktuellste Version. So kurz vor einer neuen LTS mache ich Upgrades oder neue Projekte nur mit der neuesten Version.
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  27. #27
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Zitat Zitat von neelix Beitrag anzeigen
    Aber jetzt noch die 5.1 zu installieren macht keinen Sinn
    Wenn dann 5.2, 5.1 ist ja EoL wie du schon angemerkt hast.
    » sponsor me via GitHub or PayPal or Revolut

  28. #28
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    7.080
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von neelix Beitrag anzeigen
    Aber jetzt noch die 5.1 zu installieren macht keinen Sinn, wenn in drei Wochen die 5.3 LTS veröffentlicht wird.
    Du sollst ja auch nicht die 5.1 installieren sondern die aktuellste 5.2.

    Wenn man ein neues Feature einsetzen möchte macht das in meinen Augen schon Sinn. Das Update von der neusten Version auf die LTS ist doch dann eher ein Klacks im Vergleich zur Suche nach irgendeiner Lösung für die ältere LTS.
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  29. #29
    Contao-Fan
    Registriert seit
    28.11.2009.
    Ort
    Remscheid
    Beiträge
    934

    Standard

    Zitat Zitat von mlweb Beitrag anzeigen
    Ich arbeite für Kundenprojekte auch meist mit LTS-Versionen, aber wenn ich ein neues Feature nutzen möchte spricht auch nichts gegen die aktuellste Version. So kurz vor einer neuen LTS mache ich Upgrades oder neue Projekte nur mit der neuesten Version.
    Die Seite ist von 2021. Ist also noch unter 4.9 LTS entstanden und letztes Jahr um diese Zeit auf 4.13 gewechselt. Für eine 5.x ist das verwendete Theme noch nicht bereit.

  30. #30
    Contao-Fan
    Registriert seit
    24.02.2021.
    Beiträge
    984
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von neelix Beitrag anzeigen
    Die Seite ist von 2021. Ist also noch unter 4.9 LTS entstanden und letztes Jahr um diese Zeit auf 4.13 gewechselt. Für eine 5.x ist das verwendete Theme noch nicht bereit.
    Die Version ist egal. Wenn du auf 4.13 bist und keine anderen Erweiterungen installiert hast, kannst du auf 5.2 gehen.
    Die meisten großen Erweiterungen, welche auf 5.2 laufen, werden auch auf 5.3 laufen.

    Wenn du neue Features willst, dann mach ein Update auf die neue Version. Ab dem Moment wenn eine Version (4.13, 5.0, 5.1, 5.2, 5.3) veröffentlicht wurde, gilt Feature-Freeze.

    Also:
    Wenn alle genutzten Erweiterungen bereits für 5.x freigegeben sind, dann teste ein Update und nutze die neuen Features.

    Wenn du nicht updaten kannst oder möchtest, dein eigenes Feature in deiner Installation reinbringen möchtest, dann empfehle ich

    - https://easysolutionsit.de/codebook.html

    ^ Eine Dokumentation gerichtet an Neulinge, welche Contao-Plugins entwickeln möchten

  31. #31
    Contao-Fan
    Registriert seit
    28.11.2009.
    Ort
    Remscheid
    Beiträge
    934

    Standard

    Zitat Zitat von zoglo Beitrag anzeigen
    Die Version ist egal. Wenn du auf 4.13 bist und keine anderen Erweiterungen installiert hast, kannst du auf 5.2 gehen.
    Die meisten großen Erweiterungen, welche auf 5.2 laufen, werden auch auf 5.3 laufen.
    Naja, nicht so ganz. Wenn das Theme Funktionen nutzt, die es seit dem Wechsel von 4.x auf 5.x nicht mehr gibt, dann klappt da u.U. gar nichts mehr. Dann muss der Themeentwickler da erst mal ran und eine kompatible Version bereitstellen.
    Erweiterungen habe ich eine ganze Menge installiert. Da muss ich zuerst prüfen, was davon für 5.x verfügbar ist, was ggf. gar nicht für 5.x verfügbar sein wird und ob es einen Ersatz gibt, bzw. wie wichtig diese Erweiterung ist, wenn es keinen gibt.
    Die 5.3 LTS kommt ja jetzt erst und es gibt sicher Entwickler, die ihre Erweiterungen nur für LTS Versionen supporten. LTS hat nämlich den Vorteil, dass man weniger nacharbeiten muss.

    Für den Fall hier habe ich jetzt eine Lösung und daher gibt es für mich aktuell keinen Grund auf eine 5.x zu wechseln. Es läuft mit 4.13 und die wird noch bis 02/2026 mit Updates versorgt.

  32. #32
    Contao-Fan
    Registriert seit
    28.11.2009.
    Ort
    Remscheid
    Beiträge
    934

    Standard

    Jetzt hatte ich gerade einen blöden Effekt:
    Ich hatte ja das Template angepasst. Hatte auch wunderbar funktioniert. Jetzt habe ich eben das Update 4.13.36 eingespielt... und das Formular mit dem Datepicker ließ sich nicht mehr absenden. Es kam immer nur die Fehlermeldung "Bitte geben Sie das Datum im Format TT.MM.JJJJ ein".

    Ich habe jetzt wieder auf das ursprüngliche Template zurückgestellt und dann konnte ich das Formular wieder abschicken.
    Hat sich da irgendwas geändert?

  33. #33
    Contao-Fan
    Registriert seit
    24.02.2021.
    Beiträge
    984
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von neelix Beitrag anzeigen
    Jetzt hatte ich gerade einen blöden Effekt:
    Ich hatte ja das Template angepasst. Hatte auch wunderbar funktioniert. Jetzt habe ich eben das Update 4.13.36 eingespielt... und das Formular mit dem Datepicker ließ sich nicht mehr absenden. Es kam immer nur die Fehlermeldung "Bitte geben Sie das Datum im Format TT.MM.JJJJ ein".

    Ich habe jetzt wieder auf das ursprüngliche Template zurückgestellt und dann konnte ich das Formular wieder abschicken.
    Hat sich da irgendwas geändert?
    Es gibt im Template die Validierung, zusätzlich noch eine in den allgemeinen Systemeinstellungen:
    https://docs.contao.org/manual/de/sy...datum-und-zeit

    Hatten das Problem schon mehrfach, wenn es eine Custom JavaScript-Validierung gibt, wo das Datum für etwas geparsed wird, beim Versand dann aber die interne Validierung greift (zurecht, da wichtig für Funktion des Systems).
    Passiert, wenn man etwas an den System-Einstellungen ändert. Gleiche diese einmal ab.

    Schau auch mal hier, wie es sein sollte:
    https://www.php.net/manual/de/function.date.php

  34. #34
    Contao-Fan
    Registriert seit
    28.11.2009.
    Ort
    Remscheid
    Beiträge
    934

    Standard

    Ich habe im Template ja nur aus
    Code:
    type="text"
    Code:
    type="date" max="2012-03-25"
    gemacht.

    In den Einstellungen (global und Seite) sehe ich nichts falsches. Das Datumsformat steht auf d.m.Y.

    Die Eingabeprüfung für das Feld steht auf "Datum". Mit der 4.13.35 hat es funktioniert.

  35. #35
    Contao-Nutzer Avatar von Black Pirate
    Registriert seit
    10.02.2015.
    Beiträge
    226

    Standard

    Ohne jetzt zu wissen was du alles gemacht hast fällt mir auf:

    Du schreibst "2012-03-25" und "d.m.Y"
    Das würde ja dann nicht überein stimmen.

    25.03.2012 = d.m.Y
    2012-03-25 = Y-m-d

  36. #36
    Contao-Fan
    Registriert seit
    28.11.2009.
    Ort
    Remscheid
    Beiträge
    934

    Standard

    Ja, das hatte mein Test ergeben, als ich das Formular mit dem geänderten Template erstellt habe.
    Das System erwartete das Datum in dem Format, sonst bekam ich einen Fehler.

    Da sich so ein Datepicker für die Eingabe von Geburtsdaten aber nur mäßig nützlich konfigurieren lässt, müssen die Leute ihr Geburtsdatum jetzt eben selbst eingeben.

Aktive Benutzer

Aktive Benutzer

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

Berechtigungen

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