| A value with surrounding spaces is trimmed |
The value " Title " (two spaces on either side) is sent for the input field trimmed, which has eval trim. DataHandler stores "Title". |
DeviatesExtbase stores " Title " with both spaces on either side, eval trim is not applied. The value comes from a string property. |
| A value longer than max is cut off |
A value of 20 characters ("01234567890123456789") is sent for the input field limited, which has max 10. DataHandler cuts the value to its first 10 characters and stores "0123456789". |
DeviatesExtbase stores all 20 characters, max of the field is not applied. The value comes from a string property. |
| A non numeric value in a number field is stored as zero |
The value "abc" is sent for the number field serial, which holds 5. DataHandler casts the value to an integer and stores 0. |
Same as coreExtbase also stores 0 in place of 5. An int property cannot hold "abc", so the model maps the number field to a string property: Extbase passes "abc" on unchanged and the database connection binds it as an integer for the column, which gives 0. |
| A number below the lower range is raised to it |
The value 0 is sent for the number field quantity, which has range lower 1. DataHandler raises the value to the lower bound and stores 1. |
DeviatesExtbase stores 0, the range of the field is not applied. The value comes from an int property. |
| An empty required value is not stored |
An empty string is sent for the required input field mandatory, which holds "Existing". DataHandler discards the value and leaves "Existing" in place. |
DeviatesExtbase stores the empty string and overwrites "Existing", required of the field is not checked. The value comes from a string property. |
| A duplicate unique value is made unique |
The value "taken", which entry 1 already holds, is sent for the input field code of entry 2, which has eval unique. DataHandler makes the value unique by appending a counter and stores "taken0". |
DeviatesExtbase stores "taken", so entries 1 and 2 hold the same code, eval unique is not applied. The value comes from a string property. |
| A duplicate value is made unique in the page |
The value "taken", which entry 1 on the same page already holds, is sent for the input field reference of entry 2, which has eval uniqueInPid. DataHandler makes the value unique within the page by appending a counter and stores "taken0". |
DeviatesExtbase stores "taken", so entries 1 and 2 on the same page hold the same reference, eval uniqueInPid is not applied. The value comes from a string property. |
| An invalid email address is dropped |
The value "not-an-email" is sent for the email field contact, which holds "old@example.com". DataHandler rejects the value as no valid email address, stores an empty string in its place and writes an error to errorLog. |
DeviatesExtbase stores "not-an-email" as it is, the email field is not validated. The value comes from a string property. |
| A date is stored as timestamp |
The ISO 8601 string "2023-11-14T12:00:00+00:00" is sent for the datetime field published, as the backend form sends it. DataHandler stores the Unix timestamp 1699963200. |
Same as coreExtbase also stores 1699963200. The value comes from a DateTimeImmutable property, which Extbase converts to a Unix timestamp for the datetime field. |