TYPO3 Forge: Issueshttp://forge.typo3.org/http://forge.typo3.org/themes/typo3_forge/favicon/favicon.png?17058661692023-09-29T13:56:33ZTYPO3 Forge
Redmine TYPO3 Core - Bug #102070 (New): Validation and UX errors on TCA type=datetime when using range pr...http://forge.typo3.org/issues/1020702023-09-29T13:56:33ZGeorg Tiefenbrunngeorg.tiefenbrunn@gmail.com
<p>Use the following TCA type <code>datetime</code> to reproduce:</p>
<pre>
'date_column' => [
'label' => 'date_column',
'config' => [
'type' => 'datetime',
'format' => 'date',
'default' => 0,
'range' => [
'lower' => 1693526400,
'upper' => 1693699200,
],
],
],
</pre>
<pre>
lower = 1693526400 = 2023-09-01 (Fri Sep 01 2023 00:00:00 GMT+0000)
upper = 1693699200 = 2023-09-03 (Sun Sep 03 2023 00:00:00 GMT+0000)
</pre>
<p>Date <code>2023-09-02</code> (input value <code>02-09-2023</code> in BE form field) should be valid for each range combinations (both <code>range.lower</code> and <code>range.upper</code> or only one of them). The following errors also occur using <code>'format' => 'datetime'</code>.</p>
<p>As soon as <code>range.lower</code> is used (both used alone or in combination with <code>range.upper</code>), all inputs are reported invalid (JS, form can't be saved).</p>
<p>If only <code>range.upper</code> is used ...</p>
<ul>
<li>record can be saved</li>
<li>there is no JS validation</li>
<li>invalid values (e.g. <code>04-09-2023</code>) will be converted to the given upper limit <code>30-09-2023</code> ignoring its time (the current time is used).</li>
</ul>
<a name="As-an-integrator-"></a>
<h3 >As an integrator ...<a href="#As-an-integrator-" class="wiki-anchor">¶</a></h3>
<ul>
<li>I expect the BE to properly validate user input as defined in TCA</li>
<li>I expect server side transformation of user input to be stored with the given min/max time (not a weird mix of current and min/max datetime)</li>
</ul>
<a name="As-an-editor-"></a>
<h3 >As an editor ...<a href="#As-an-editor-" class="wiki-anchor">¶</a></h3>
<ul>
<li>I expect invalid dates being disabled in the date picker</li>
</ul> TYPO3 Core - Bug #101947 (Rejected): Conditions in User TSconfig do not workhttp://forge.typo3.org/issues/1019472023-09-19T09:27:42ZGeorg Tiefenbrunngeorg.tiefenbrunn@gmail.com
<p>I am aware that most of the User TSconfig options are only useful in the global context or can only be defined once.<br />Extensions using objects based on standard <code>pages</code> (as e.g. EXT:blog) should be able to disable e.g. unwanted actions like cut/paste or manual sorting.</p>
<p>Steps to reproduce:</p>
<p>Use <code>ExtensionManagementUtility::addUserTSConfig()</code> in <code>ext_localconf.php</code> to add User TSconfig.</p>
<a name="Working-TSconfig"></a>
<h2 >Working TSconfig<a href="#Working-TSconfig" class="wiki-anchor">¶</a></h2>
<pre>
options.disableDelete.pages = 1
options.contextMenu.table.pages.disableItems = pagesSort, pagesNewMultiple, hideInMenus, showInMenus
options.contextMenu.table.pages.tree.disableItems = pagesSort, pagesNewMultiple, hideInMenus, showInMenus
</pre>
<a name="Non-working-TSconfig"></a>
<h2 >Non-working TSconfig<a href="#Non-working-TSconfig" class="wiki-anchor">¶</a></h2>
<pre>
[traverse(page, "module") == "blog"]
options.disableDelete.pages = 1
options.contextMenu.table.pages.disableItems = pagesSort, pagesNewMultiple, hideInMenus, showInMenus
options.contextMenu.table.pages.tree.disableItems = pagesSort, pagesNewMultiple, hideInMenus, showInMenus
[END]
[traverse(page, "doktype") == 137]
options.disableDelete.pages = 1
options.contextMenu.table.pages.disableItems = pagesSort, pagesNewMultiple, hideInMenus, showInMenus
options.contextMenu.table.pages.tree.disableItems = pagesSort, pagesNewMultiple, hideInMenus, showInMenus
[END]
[tree.pagelayout == "pagets__BlogPost"]
options.disableDelete.pages = 1
options.contextMenu.table.pages.disableItems = pagesSort, pagesNewMultiple, hideInMenus, showInMenus
options.contextMenu.table.pages.tree.disableItems = pagesSort, pagesNewMultiple, hideInMenus, showInMenus
[END]
</pre>
<a name="References"></a>
<h2 >References<a href="#References" class="wiki-anchor">¶</a></h2>
<p><a class="external" href="https://docs.typo3.org/m/typo3/reference-tsconfig/main/en-us/UsingSetting/Conditions.html">https://docs.typo3.org/m/typo3/reference-tsconfig/main/en-us/UsingSetting/Conditions.html</a></p>
<blockquote>
<p>It is possible to use TypoScript conditions in both user TSconfig and page TSconfig [...]</p>
</blockquote> TYPO3 Core - Bug #101869 (Resolved): CKEditor5: Pass full yaml editor configuration to CKEditor5http://forge.typo3.org/issues/1018692023-09-07T09:44:06ZGeorg Tiefenbrunngeorg.tiefenbrunn@gmail.com
<p>I just tried setting <code>editor.config.toolbar.shouldNotGroupWhenFull = false</code> (RTE yaml configuration) but this value is hardcoded in <a href="https://github.com/TYPO3/typo3/blob/e613f1f2c391b1ab2e9bd40f93841c07520dd9e7/typo3/sysext/core/Classes/Configuration/CKEditor5Migrator.php#L242C24-L242C40" class="external">CKEditor5Migrator::migrateToolbar()</a></p>
<p>Instead of using the CKeditor <strong>5</strong> setting <code>editor.config.toolbar.removeItems</code> (<a class="external" href="https://ckeditor.com/docs/ckeditor5/latest/features/toolbar/toolbar.html#extended-toolbar-configuration-format">https://ckeditor.com/docs/ckeditor5/latest/features/toolbar/toolbar.html#extended-toolbar-configuration-format</a>) you have to use CKeditor <strong>4</strong> setting <code>editor.config.removeButtons</code>.</p>
<p>What about adding an option to disable the CKEditor4 to CKEditor5 migration and simply add the full yaml configuration (except those settings which cant't be defined via yaml like content and UI language) to CKEditor5?</p> TYPO3 Core - Feature #101812 (New): Allow floats for range.lower and range.upper of TCA type Numb...http://forge.typo3.org/issues/1018122023-08-31T12:42:04ZGeorg Tiefenbrunngeorg.tiefenbrunn@gmail.com
<p>The <code>range.*</code> properties of TCA type Number currently are forced to integers in <a href="https://github.com/TYPO3/typo3/blob/3b1fe2d527d5ea990fef23daf68e33ca6b096368/typo3/sysext/backend/Classes/Form/Element/NumberElement.php#L219" class="external">TYPO3\CMS\Backend\Form\Element\NumberElement</a> (lines 194/195 for sliders and 219/222).</p>
<p><a href="https://docs.typo3.org/m/typo3/reference-tca/12.4/en-us/ColumnsConfig/Type/Number/Properties/Range.html" class="external">TCA Reference</a> : lower Defines the lower <strong>integer</strong> value, upper Defines the upper <strong>integer</strong> value.</p>
<p>This should be changed to allow <strong>floats</strong> for floating point values (<code>format=decimal</code>).</p>
<p>Instead of the <code>precision</code> property (mentioned on line 90) I would prefer the html <code>step</code> attribute.</p> TYPO3 Core - Bug #101805 (Resolved): PHP deprecation error in BackendUtility::getProcessedValue()http://forge.typo3.org/issues/1018052023-08-30T18:10:39ZGeorg Tiefenbrunngeorg.tiefenbrunn@gmail.com
<p>Nullable columns of TCA type <code>datetime</code> (introduced in v12) cause a PHP deprecation error in record info popup if the stored value is NULL.</p>
<blockquote>
<p>#1476107295 TYPO3\CMS\Core\Error\Exception<br />PHP Runtime Deprecation Notice: strtotime(): Passing null to parameter #1 ($datetime) of type string is deprecated in vendor/typo3/cms-backend/Classes/Utility/BackendUtility.php line ...</p>
</blockquote>
<p>The exception is caused by passing NULL to strtotime() in <a href="https://github.com/TYPO3/typo3/blob/3bd57aec13f909227d01a116ce50ae067c415238/typo3/sysext/backend/Classes/Utility/BackendUtility.php#L1691" class="external">BackendUtility.php:1691</a> (<code>format=datetime</code>) and <a href="https://github.com/TYPO3/typo3/blob/3bd57aec13f909227d01a116ce50ae067c415238/typo3/sysext/backend/Classes/Utility/BackendUtility.php#L1731" class="external">BackendUtility.php:1731</a> (<code>format=date</code>).</p>
<a name="Steps-to-reproduce"></a>
<h2 >Steps to reproduce<a href="#Steps-to-reproduce" class="wiki-anchor">¶</a></h2>
<p>Add some columns of TCA type <code>datetime</code>:</p>
<pre>
-- ext_tables.sql
CREATE TABLE fe_users (
`test_date` date DEFAULT NULL,
`test_datetime` datetime DEFAULT NULL,
`test_time` time DEFAULT NULL
);
</pre>
<pre>
<?php
// EXT/Configuration/TCA/Overrides/fe_users.php
defined('TYPO3') or die();
$tca = [
'columns' => [
'test_date' => [
'label' => 'test_date',
'config' => [
'type' => 'datetime',
'dbType' => 'date',
],
],
'test_datetime' => [
'label' => 'test_datetime',
'config' => [
'type' => 'datetime',
'dbType' => 'datetime',
],
],
'test_time' => [
'label' => 'test_time',
'config' => [
'type' => 'datetime',
'dbType' => 'time',
'nullable' => true,
],
],
],
'palettes' => [
'2' => ['showitem' => 'first_name,--linebreak--,middle_name,--linebreak--,last_name,--linebreak--,test_date,test_datetime,test_time'],
],
];
$GLOBALS['TCA']['fe_users'] = array_replace_recursive($GLOBALS['TCA']['fe_users'], $tca);
</pre>
<ul>
<li>Open any existing fe_users record or create a new one leaving all three test columns empty (NULL value in database).</li>
<li>Open the record info (list module → More options ... → Display information; BE route show_item) to throw the exception.</li>
</ul> TYPO3 Core - Bug #101728 (Resolved): CKEditor5: softhyphens and source editing modehttp://forge.typo3.org/issues/1017282023-08-22T12:28:11ZGeorg Tiefenbrunngeorg.tiefenbrunn@gmail.com
<p>The <code>softhyphen</code> button is still active if switched to source editing mode.<br />If clicked in source editing mode, a softhyphen is added to the first element.</p>
<p>1. As an editor, I'd either expect the button to be disabled or to insert a softhyphen entity at the current cursor position.</p>
<p>2. As an editor, I'd expect softhyphens to be visible also in source editing mode (<code>shy</code>, <code>#173</code>).</p>
<p>3. As an integrator, I'd like softhyphens to be stored as entities (<code>shy</code>, <code>#173</code>).</p>
<p>4. The button has no tooltip (see <a href="https://ckeditor.com/docs/ckeditor5/latest/api/module_ui_button_button-Button.html#member-tooltip" class="external">@ckeditor/ckeditor5-ui/src/button/button::tooltip</a>). As an editor, I either need a tooltip or button text to identify the button action. Bold and Italic both have the assigned shortcut - "Bold (⌘B)" and "Italic (⌘I)" on macOS - added to the tooltip.</p>
<p>5. Activating the button focuses the button and removes the cursor from the content section. As an editor, I'd expect the cursor to be placed after the inserted value as in all other commands (bold, italic, etc.). If the action is applied to a selection, I would expect the selection still intact.</p> TYPO3 Core - Bug #101726 (New): CKEditor5: Whitespace plugin does not highlight all non breaking ...http://forge.typo3.org/issues/1017262023-08-22T08:36:24ZGeorg Tiefenbrunngeorg.tiefenbrunn@gmail.com
<p>Paste the following code into a RTE in source editing mode and switch back into WYSIWYG mode:</p>
<pre>
<h3>
Visible nbsp
</h3>
<p>
Lorem&nbsp;i<strong>&nbsp;p&nbsp;</strong>&nbsp;sum
</p>
<p>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; indentation
</p>
<h3>
Invisible nbsp
</h3>
<p>
&nbsp;
</p>
<p>
<br>
&nbsp;&nbsp;
<br>
Lorem impsum&nbsp;
<br>
&nbsp;&nbsp;
</p>
<p>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; indentation
</p>
<p>
&nbsp;dolor &nbsp;sit &nbsp; amet&nbsp;
</p>
</pre>
<ul>
<li>nbsp after a whitespace are not marked</li>
<li>nbsp before line ending are not marked</li>
<li>multiple nbsp after line breaks are not marked</li>
</ul>
<p>As an editor, I would expect the RTE to mark all entities.</p>
<p>The HTML code above was copied from a RTE in source editing mode from <a class="external" href="https://demo.typo3.org/">https://demo.typo3.org/</a> (TYPO3 12.4.5) from an "Text & Media" element.</p> TYPO3 Core - Bug #101401 (Resolved): Undefined array key "ui" in vendor/typo3/cms-rte-ckeditor/Cl...http://forge.typo3.org/issues/1014012023-07-20T18:28:27ZGeorg Tiefenbrunngeorg.tiefenbrunn@gmail.com
<p><a href="https://forge.typo3.org/projects/typo3cms-core/repository/1749/revisions/44d9651901dda6275407181493eb7a7463ce1d8e/diff/typo3/sysext/rte_ckeditor/Classes/Form/Element/RichTextElement.php" class="external">Revision 44d96519</a> added two unchecked array key access (<a href="https://github.com/TYPO3/typo3/blob/12.4/typo3/sysext/rte_ckeditor/Classes/Form/Element/RichTextElement.php#L193" class="external">RichTextElement.php L193 and L198</a>)</p>
<pre>
$uiLanguage = $ckeditorConfiguration['options']['language']['ui'];
if ($this->translationExists($uiLanguage)) {
$resultArray['javaScriptModules'][] = JavaScriptModuleInstruction::create('@typo3/ckeditor5/translations/' . $uiLanguage . '.js');
}
$contentLanguage = $ckeditorConfiguration['options']['language']['content'];
if ($this->translationExists($contentLanguage)) {
$resultArray['javaScriptModules'][] = JavaScriptModuleInstruction::create('@typo3/ckeditor5/translations/' . $contentLanguage . '.js');
}
</pre>
<p><code>$ckeditorConfiguration</code> is generated in <a href="https://github.com/TYPO3/typo3/blob/12.4/typo3/sysext/rte_ckeditor/Classes/Form/Element/RichTextElement.php#L358" class="external">RichTextElement::prepareConfigurationForEditor()</a> and is based on the <code>editor.config</code> array from the RTE yaml files.</p>
<p>CKeditor's <a href="https://ckeditor.com/docs/ckeditor5/latest/features/language.html" class="external">text part language feature</a> uses the <code>config.language.textPartLanguage</code> configuration option. This feature is currently missing (see <a class="issue tracker-2 status-8 priority-4 priority-default child" title="Feature: CKeditor implement bidi and language Plugin again (Under Review)" href="http://forge.typo3.org/issues/101128">#101128</a>), but if configured in RTE yaml causes prepareConfigurationForEditor() to assume the UI language of the editor if hard-coded (<code>empty($configuration['language'])</code> is checked instead of <code>empty($configuration['language']['ui'] ?? null)</code>).</p>
<a name="RTE-configuration-causing-exception"></a>
<h2 >RTE configuration causing exception<a href="#RTE-configuration-causing-exception" class="wiki-anchor">¶</a></h2>
<pre>
editor:
config:
language:
textPartLanguage:
- { title: 'English', languageCode: 'en' }
- { title: 'French', languageCode: 'fr' }
- { title: 'German', languageCode: 'de' }
</pre>
<a name="Workaround"></a>
<h2 >Workaround<a href="#Workaround" class="wiki-anchor">¶</a></h2>
<pre>
editor:
config:
language:
# Use hard-coded UI language
ui: en
textPartLanguage:
- { title: 'English', languageCode: 'en' }
- { title: 'French', languageCode: 'fr' }
- { title: 'German', languageCode: 'de' }
</pre> TYPO3 Core - Bug #98427 (New): Page and User TSconfig have no effect on web/list "More options" (...http://forge.typo3.org/issues/984272022-09-23T12:45:27ZGeorg Tiefenbrunngeorg.tiefenbrunn@gmail.com
<p>If the clipboard is deactivated by Page TSconfig <code>mod.web_list.enableClipBoard = deactivated</code> (<a href="https://docs.typo3.org/m/typo3/reference-tsconfig/11.5/en-us/PageTsconfig/Mod.html#enableclipboard" class="external">docs</a>) users still can copy/move/paste records using the "More options ..." actions.</p>
<p>The new "multi-record-selection" <em>does</em> change it's behavior and only offers "Edit" and "Delete" buttons if <code>mod.web_list.enableClipBoard = deactivated</code> is set (the button group "Transfer to clipboard"/"Remove from clipboard" is removed).</p>
<p>User TSconfig <code>options.contextMenu.table.{table}.disableItems</code> (<a href="https://docs.typo3.org/m/typo3/reference-tsconfig/11.5/en-us/UserTsconfig/Options.html#contextmenu-disableitems" class="external">doc</a>) also has no effect on the new "More options" context menu.</p>
<p>Until v11 it was possible to prevent users from duplicating records. Because of the new "More options" context menu this is no longer possible.</p>
<p>The "More options" context menu ("secondary actions") should respect both Page TSconfig <code>mod.web_list.enableClipBoard = deactivated</code> and User TSconfig <code>options.contextMenu.table.{table}.disableItems</code> settings.</p> TYPO3 Core - Bug #97713 (Closed): EXT:dashboard's module-body background-color is overwritten by ...http://forge.typo3.org/issues/977132022-05-31T11:32:21ZGeorg Tiefenbrunngeorg.tiefenbrunn@gmail.com
<p>Since <a class="external" href="https://github.com/TYPO3/typo3/commit/8006093256a60bc401a45076ff50f459aa5fc423">https://github.com/TYPO3/typo3/commit/8006093256a60bc401a45076ff50f459aa5fc423</a> backend.css applies <code>background-color: #fff;</code> to <code>.module-body</code>.</p>
<p>EXT:dashboard's <a href="https://github.com/TYPO3/typo3/blob/10.4/typo3/sysext/dashboard/Resources/Public/Css/dashboard.css" class="external">dashboard.css</a> applies a light gray background using <code>.module.module{background-color:#eaeaea}</code>.</p>
<p>As <code><div class="module-body"></code> is a child of <code><div class="module"></code> EXT:dashboard's style definition has no effect anymore and the whole dashboard module is rendered with a white background.</p> TYPO3 Core - Feature #97540 (Closed): Add custom fields to DataHandler::pagetreeRefreshFieldsFrom...http://forge.typo3.org/issues/975402022-05-03T08:06:57ZGeorg Tiefenbrunngeorg.tiefenbrunn@gmail.com
<p>Updating pages via DataHandler will trigger a reload of the page tree if certain fields (visibility, title) are changed.</p>
<p>These fields are hardcoded in <a class="external" href="https://github.com/TYPO3/typo3/blob/main/typo3/sysext/core/Classes/DataHandling/DataHandler.php#L327">https://github.com/TYPO3/typo3/blob/main/typo3/sysext/core/Classes/DataHandling/DataHandler.php#L327</a></p>
<p>Feature request: Add a config option (e.g. <code>$GLOBALS['TYPO3_CONF_VARS']</code>) to add custom fields to <code>DataHandler::pagetreeRefreshFieldsFromPages</code> array.</p>
<p>Use cases: Using additional overlay icons for approval, content revision (outdated content), custom FE access restrictions, etc.</p> TYPO3 Core - Bug #97146 (Closed): Undefined array key "uid" in ContentContentObjecthttp://forge.typo3.org/issues/971462022-03-08T15:52:00ZGeorg Tiefenbrunngeorg.tiefenbrunn@gmail.com
<p>ContentContentObject::render() can't handle 'records' without <code>uid</code>:</p>
<pre>
# TypoScript
page.10 = CONTENT
page.10 {
table = tt_content
select.selectFields = count(*)
renderObj = TEXT
renderObj {
field = count(*)
wrap = value:|
}
}
</pre>
<pre>
PHP Warning: Undefined array key "uid" in typo3/sysext/frontend/Classes/ContentObject/ContentContentObject.php line 91
</pre>
<p>According to <a class="external" href="https://docs.typo3.org/m/typo3/reference-typoscript/11.5/en-us/Functions/Select.html#selectfields">https://docs.typo3.org/m/typo3/reference-typoscript/11.5/en-us/Functions/Select.html#selectfields</a> <code>select.selectFields = count(*)</code> is valid TypoScript:</p>
<blockquote>
<p>List of fields to select, or <code>count(*)</code>.</p>
</blockquote>
<a name="TypoScript-workaround"></a>
<h2 >TypoScript workaround<a href="#TypoScript-workaround" class="wiki-anchor">¶</a></h2>
<pre>
page.10 = CONTENT
page.10 {
table = tt_content
select.selectFields = count(uid) AS count, uid
renderObj = TEXT
renderObj {
value = {field:count}
insertData = 1
wrap = value:|
}
}
</pre>
<a name="Fix"></a>
<h2 >Fix<a href="#Fix" class="wiki-anchor">¶</a></h2>
<pre>
// typo3/sysext/frontend/Classes/ContentObject/ContentContentObject.php line 91
- $registerField = $conf['table'] . ':' . $row['uid'];
+ $registerField = $conf['table'] . ':' . (int)($row['uid'] ?? 0);
</pre> TYPO3 Core - Bug #97143 (Closed): Undefined array key "foreign_table_where" in SuggestWizardContr...http://forge.typo3.org/issues/971432022-03-08T13:19:12ZGeorg Tiefenbrunngeorg.tiefenbrunn@gmail.com
<blockquote>
<p>PHP Warning: Undefined array key "foreign_table_where" in typo3/sysext/backend/Classes/Controller/Wizard/SuggestWizardController.php line 311</p>
</blockquote>
<pre>
- return trim(preg_replace('/ORDER[[:space:]]+BY.*/i', '', $fieldConfig['foreign_table_where']));
+ return trim(preg_replace('/ORDER[[:space:]]+BY.*/i', '', (string)($fieldConfig['foreign_table_where'] ?? '')));
</pre> TYPO3 Core - Bug #94963 (New): PageRouter generates invalid URLs for access restricted mountpointshttp://forge.typo3.org/issues/949632021-08-23T14:42:14ZGeorg Tiefenbrunngeorg.tiefenbrunn@gmail.com
<pre>
site
+ A [id=1, slug=/a]
+ B [id=2, slug=/a/b]
+ C [id=3, slug=/c, mount_pid=1, mount_pid_ol=1]
</pre>
<p>If A has no access restriction (fe_group) links generated using \TYPO3\CMS\Frontend\DataProcessing\MenuProcessor (HMENU, <code>special=list</code>) are valid. The mounted page B will point to <code>/c/b</code>.</p>
<p>If access restrictions are applied (<code>showAccessRestrictedPages=1</code>) PageRouter::resolveMountPointParameterIntoPageSlug() does not remove the slug prefix. The mounted page B will point to <code>/c/a/b</code>.</p>
<p>master: <a class="external" href="https://github.com/TYPO3/typo3/blob/master/typo3/sysext/core/Classes/Routing/PageRouter.php#L429">https://github.com/TYPO3/typo3/blob/master/typo3/sysext/core/Classes/Routing/PageRouter.php#L429</a><br />10.4: <a class="external" href="https://github.com/TYPO3/typo3/blob/10.4/typo3/sysext/core/Classes/Routing/PageRouter.php#L428">https://github.com/TYPO3/typo3/blob/10.4/typo3/sysext/core/Classes/Routing/PageRouter.php#L428</a></p>
<pre>
$mountedPage = $pageRepository->getPage($mountedPage);
$mountRoot = $pageRepository->getPage($mountRoot);
</pre>
<p>If <code>getPage()</code> is called using <code>$disableGroupAccessCheck=true</code> valid URLs are generated.</p> TYPO3 Core - Bug #94647 (Closed): TCAdefaults are ignored for inputDateTime fields if lower range...http://forge.typo3.org/issues/946472021-07-27T12:52:20ZGeorg Tiefenbrunngeorg.tiefenbrunn@gmail.com
<p>TYPO3 10.4.18 (composer)</p>
<pre>
# TCA
table
columns
test_date
config
eval = date
range
lower = {value greater than now}
renderType = inputDateTime
type = input
# TCAdefaults
TCAdefaults.table.test_date = {future date}
</pre>
<p>On creating new records:</p>
<ul>
<li>OK: <code>range.lower</code> is not set -> TCAdefaults is used</li>
<li>OK: <code>range.lower</code> is smaller than <code>now()</code> -> TCAdefaults is used</li>
<li>ERROR: <code>range.lower</code> is greater than <code>now()</code> (is a future date) -> TCAdefaults are <strong>ignored</strong> and <code>range.lower</code> is used as element value.</li>
</ul>