Skip to content

Datumsfelder: NULL/leere Werte in der Listenansicht nicht an DateTime::createFromFormat() geben - #1598

Open
tbaddade wants to merge 1 commit into
yakamara:masterfrom
tbaddade:fix/date-list-null-deprecation
Open

tbaddade wants to merge 1 commit into
yakamara:masterfrom
tbaddade:fix/date-list-null-deprecation

Conversation

@tbaddade

Copy link
Copy Markdown
Member

Problem

Beim Öffnen der Datensatz-Liste einer YForm-Tabelle mit einem date- oder datetime-Feld, dessen (nullable) Spalte keinen Wert hat, bricht die Liste im Debug-Modus ab:

DateTime::createFromFormat(): Passing null to parameter #2 ($datetime) of type string is deprecated
  .../lib/Field/value/date.php:131

rex_yform_value_date::date_getFormattedDate() bzw. rex_yform_value_datetime::datetime_getFormattedDatetime() rufen DateTime::createFromFormat() auf, bevor sie den Wert auf leer/NULL prüfen. Bei nullable Spalten (z. B. optionale Termin- oder Workflow-Daten, die erst später gesetzt werden) ist der Wert NULL → Deprecation seit PHP 8.1, und im Debug-Modus wird daraus ein Abbruch der Listenansicht.

Fix

Früh-Return für leere/NULL-Werte, bevor createFromFormat() aufgerufen wird — die Zelle wird dann leer gerendert (statt []). Gültige Daten und die […]-Markierung für echte Fehlwerte verhalten sich unverändert.

Verifikation

getListValue() über beide Feldtypen mit null / '' / gültigem Wert / Müll:

Eingabe vorher nachher
null Deprecation → [] `` (leer)
'' [] `` (leer)
2026-06-05 05.06.2026 05.06.2026
garbage [garbage] [garbage]

(analog für datetime)


Hinweis: Versionsnummer und Datum im CHANGELOG (5.0.3 / 17.07.2026) sind provisorisch — bitte beim Release anpassen.

…eben

rex_yform_value_date und rex_yform_value_datetime riefen createFromFormat()
auch mit NULL auf (nullable Spalte ohne Wert), was seit PHP 8.1 eine
Deprecation ausloest und die Datensatz-Liste im Debug-Modus abbrechen laesst.
Leere/NULL-Werte werden nun vorab als leer gerendert.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant