Problem/Motivation
When updating to D11.2.x or D11.x branch, the Field Validation module fails. This can also be seen when running Drupal CI with the Field Validation module as an dependency as we do in AI module.
This seems to be due to Drupal updating the symfony validator library: https://git.drupalcode.org/project/drupal/-/blob/11.x/composer/Metapacka...
There are property types and output types that has to be defined. As far as I can see they are backwards compatible as well.
Steps to reproduce
- Add all needed types and return types.
Proposed resolution
Remaining tasks
User interface changes
API changes
Data model changes
| Comment | File | Size | Author |
|---|---|---|---|
| #9 | field_validation-issue-3524477-mr-15.patch | 14.75 KB | jrockowitz |
Issue fork field_validation-3524477
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #2
marcus_johansson commentedComment #4
marcus_johansson commentedComment #5
marcus_johansson commentedComment #6
scott_euser commentedThis looks good to me. I think given 3x is beta, release notes should just make it clear in case anyone is extending any constraints, that they should add the return types + types to their messages in order to remain compatible.
E.g.
Will result in
And
Will result in
Comment #7
vivek panicker commentedPatch worked for me as well.
Was able to run update hooks successfully.
Comment #8
pearls commentedHere's the log while upgrading to Drupal 11.2.0.rc2
MR !15 solved the problem.
+1 for RTBC
Comment #9
jrockowitz commentedComment #10
digitalcatalyst commentedtested this patch when upgrading, from core 11.1.7 to 11.2.0, updates were failing with
PHP Fatal error: Declaration of Drupal\field_validation\Plugin\Validation\Constraint\TimeConstraint::validatedBy() must be compatible with Symfony\Component\Validator\Constraint::validatedBy(): string in /var/www/sites/drupal/multisite/web/modules/contrib/field_validation/src/Plugin/Validation/Constraint/TimeConstraint.php on line 21after patch updates all ran fine.
Comment #11
seattlehimay commentedTested patch from #9 while upgrading from d10 to D11.2.2. This patched worked great, and eliminated the error I had been seeing upon trying update the database via drush:
Fatal error: Type of Drupal\field_validation\Plugin\Validation\Constraint\LessThanOrEqualConstraint::$message must
be string (as in class Symfony\Component\Validator\Constraints\LessThanOrEqual) in /var/www/html/web/modules/contri
b/field_validation/src/Plugin/Validation/Constraint/LessThanOrEqualConstraint.php on line 16
Comment #12
anybodyDefinitely major, this breaks projects and updates. Any chance to tag a new release?
Comment #13
doxigo commentedThis works as expected, and this is a major blocker, can anyone tag a new release please?
Comment #15
abhisekmazumdarThank you all for moving this forward. I have created a new release: field_validation 3.0.0-beta5.
Comment #18
darren ohComment #19
darren oh