Heya
I am sort of stuck here and don’t really know whats wrong ![]()
In an old Kirby instance with 3.3.3 this seems so be working fine, but with 3.8.4 it no longer works correctly for me?
# pages/test.yml
title: Test
preset: page
fields:
email:
type: email
required: true
salutation:
type: text
required: true
firstname:
type: text
required: true
validate:
min: 2
max: 255
lastname:
type: text
required: true
validate:
min: 2
max: 255
# default.php
<?php
$data = [
'salutation' => 'MALE',
// 'firstname' => 'First Name',
'email' => 'mail@example.com',
'lastname' => 'Last Name',
];
$new_page = new Page([
'slug' => Str::random(5)
'template' => 'test',
'content' => $data,
]);
echo '<pre>'; print_r($new_page->errors()); echo '</pre>';
?>
output with 3.3.3 which is correct. firstname is not included in $data
Array
(
[firstname] => Array
(
[label] => Firstname
[message] => Array
(
[required] => Please enter something
[min] => Please enter a value equal to or greater than 2
)
)
)
output with 3.8.4 (same code, same everything, just newer version of kirby)
Array
(
[email] => Array
(
[label] => Email
[message] => Array
(
[required] => Please enter something
)
)
[salutation] => Array
(
[label] => Salutation
[message] => Array
(
[required] => Please enter something
)
)
[firstname] => Array
(
[label] => Firstname
[message] => Array
(
[required] => Please enter something
[min] => Please enter a value equal to or greater than 2
)
)
[lastname] => Array
(
[label] => Lastname
[message] => Array
(
[required] => Please enter something
[min] => Please enter a value equal to or greater than 2
)
)
)
Changing the language slug (so /de or /en) only results in the translated error messages
This has all been tested with plainkit.
Since the versions differ a lot, I am guessing something changed, but I can’t seem to find it in the docs?
Thanks for any hint or solution!