Hallo drillo,
es tut mir leid, dass die Beantwortung so lange gedauert hat!
Es ist grundsätzlich schon möglich mit Datumsfeldern zu rechnen.
Mehr dazu in:
docs.joomla-4.visforms.vi-solutions.de/d...on/with-date-fields/
Ich fand deine Frage interessant und wollte die Altersberechnung in einem eigenen Beispiel mal umsetzen.
Mir war auch nicht ganz klar, ob es tatsächlich bis zum Ende funktioniert.
Es existieren zwei Möglichkeiten um zu rechnen: ein Feld vom Typ 'Berechnung' aber auch ein Feld vom Typ 'Listbox SQL' kann ja im SQL prima rechnen.
Aber leider musste ich dabei feststellen, dass beide Feldtypen es nicht bis zum Einsatz-fähigen Erfolg schaffen.
Beschränkungen beim Feldtyp 'Berechnung':
Zwar ist es möglich mathematische Funktionen zu verwenden, aber leider nicht genug.
Die nutzbaren Funktionen in Berechnungsfeldern sind aber leider die Schnittmenge aus JavaScript-Funktionen und PHP-Funktionen.
Denn die gleiche Formel wird im Browser mit JavaScript evaluiert und ein zweites Mal mit PHP im Joomla Backend.
JavaScript und PHP für sich genommen, haben jeweils ausreichend Funktionen zum Umgang mit Datums-Werten.
Der erste Formelwert der JavaScrip-Berechnung durch den Browser wird aktuell aus Sicherheitsgründen nicht zusammen mit den Formulardaten übermittelt.
Statt dessen wird die gleiche Formel verwendet um die Berechnung im Joomla Backend erneut auszuführen und dieses Ergebnis zu verwenden.
Beschränkungen beim Feldtyp 'Listbox SQL':
Zwar ist es möglich die wirklich vielen umfassenden und zahlreichen MySQL-Aggregat-Funktionen im eigenen SQL zu verwenden.
Aber leider können für ein Listbox-SQL-Feld nur folgende Feldtypen als Trigger-Felder (Triggert = bei Änderung von nachladen) ausgewählt werden:
- "Listbox", "Radiobutton", "Checkbox Gruppe"
- "Listbox SQL", "Radiobutton SQL", "Checkbox Gruppe SQL".
Mehr dazu in:
docs.joomla-4.visforms.vi-solutions.de/d...liche-trigger-felder
Es ist also nicht möglich dein Datum-Feld als Trigger-Feld auszuwählen.
Damit macht es keinen Sinn, denn nach Änderung der Benutzer-Auswahl auf ein erstes oder geändertes Datum, würde keine Neuberechnung des Listbox-SQL-Feldes erfolgen.
Es tut mir daher sehr leid, feststellen zu müssen, dass es nicht möglich das Alter basierend auf einem Datum-Feld zu berechnen.
Die obigen Beschränken für die beiden Feldtypen 'Berechnung' und 'Listbox SQL' werden wir in einer zukünftigen Visforms Version behoben haben.
Ich werde entsprechende Issues für die Visforms-Entwicklungs-Liste anlegen.
Wenn das Feature 'Berechnung des Alters' released wurde, wirst du hier im Thema direkt darüber informiert.
Bis dahin und Gruß, Ingmar