← all change records
#2811047 Constraint validators should subclass ConstraintValidator instead of implementing ConstraintValidatorInterface directly
Generated 2026-08-02 02:00 UTC
Matching rules (1)
- from:
fqn: \Symfony\Component\Validator\ConstraintValidatorInterface
to:
fqn: \Symfony\Component\Validator\ConstraintValidator
Affected contrib projects (254)
| Project | legacy | in_flight | migrated | installs | files | adopters | |
|---|---|---|---|---|---|---|---|
| redirect ↗ | 0 | 1 | 0 | 277,481 | 0 | 0 | |
| paragraphs ↗ | 0 | 0 | 1 | 257,253 | 0 | 0 | |
| crop ↗ | 0 | 0 | 1 | 160,219 | 0 | 0 | |
| address ↗ | 0 | 0 | 3 | 116,847 | 0 | 0 | |
| scheduler ↗ | 0 | 0 | 2 | 104,873 | 0 | 0 | |
| video_embed_field ↗ | 0 | 0 | 3 | 96,219 | 0 | 0 | |
| geofield ↗ | 0 | 0 | 2 | 67,048 | 0 | 0 | |
| geolocation ↗ | 0 | 0 | 2 | 46,359 | 0 | 0 | |
| commerce ↗ | 0 | 0 | 2 | 37,667 | 0 | 0 | |
| scheduler_content_moderation_integration ↗ | 0 | 0 | 2 | 32,246 | 0 | 0 | |
| dynamic_entity_reference ↗ | 0 | 0 | 2 | 30,824 | 0 | 0 | |
| state_machine ↗ | 0 | 0 | 1 | 29,748 | 0 | 0 | |
| entityqueue ↗ | 0 | 0 | 1 | 29,231 | 0 | 0 | |
| simplenews ↗ | 0 | 0 | 1 | 28,753 | 0 | 0 | |
| jsonapi_extras ↗ | 0 | 0 | 1 | 28,729 | 0 | 0 | |
| csp ↗ | 0 | 0 | 2 | 25,187 | 0 | 0 | |
| simple_oauth ↗ | 0 | 0 | 2 | 21,930 | 0 | 0 | |
| trash ↗ | 0 | 0 | 1 | 21,110 | 0 | 0 | |
| eca ↗ | 0 | 0 | 3 | 19,852 | 0 | 0 | |
| ai ↗ | 0 | 0 | 4 | 18,387 | 0 | 0 | |
| layout_paragraphs ↗ | 0 | 0 | 3 | 17,485 | 0 | 0 | |
| contact_storage ↗ | 0 | 0 | 1 | 17,385 | 0 | 0 | |
| telephone_validation ↗ | 0 | 0 | 1 | 16,185 | 0 | 0 | |
| field_validation ↗ | 0 | 0 | 2 | 14,651 | 0 | 0 | |
| site_verify ↗ | 0 | 0 | 1 | 13,905 | 0 | 0 | |
| physical ↗ | 0 | 0 | 1 | 13,691 | 0 | 0 | |
| tmgmt ↗ | 0 | 0 | 1 | 12,394 | 0 | 0 | |
| genpass ↗ | 0 | 0 | 2 | 12,138 | 0 | 0 | |
| book ↗ | 0 | 0 | 3 | 11,583 | 0 | 0 | |
| domain ↗ | 0 | 0 | 1 | 11,396 | 0 | 0 | |
| time_field ↗ | 0 | 0 | 1 | 10,753 | 0 | 0 | |
| forum ↗ | 0 | 0 | 1 | 9,803 | 0 | 0 | |
| date_recur ↗ | 0 | 0 | 3 | 8,680 | 0 | 0 | |
| canvas ↗ | 0 | 0 | 1 | 8,549 | 0 | 0 | |
| sitewide_alert ↗ | 0 | 0 | 2 | 7,683 | 0 | 0 | |
| ui_patterns ↗ | 0 | 0 | 1 | 7,445 | 0 | 0 | |
| og ↗ | 0 | 0 | 2 | 7,428 | 0 | 0 | |
| workbench_moderation ↗ | 0 | 0 | 1 | 7,094 | 0 | 0 | |
| range ↗ | 0 | 0 | 1 | 6,848 | 0 | 0 | |
| media_remote ↗ | 0 | 0 | 1 | 6,628 | 0 | 0 | |
| lightning_media ↗ | 0 | 0 | 3 | 6,275 | 0 | 0 | |
| json_field ↗ | 0 | 0 | 1 | 6,011 | 0 | 0 | |
| workflow ↗ | 0 | 0 | 2 | 5,380 | 0 | 0 | |
| readonlymode ↗ | 0 | 0 | 1 | 4,975 | 0 | 0 | |
| custom_field ↗ | 0 | 0 | 2 | 4,942 | 0 | 0 | |
| media_entity_slideshow ↗ | 0 | 0 | 1 | 4,797 | 0 | 0 | |
| taxonomy_unique ↗ | 0 | 0 | 1 | 4,554 | 0 | 0 | |
| salesforce ↗ | 0 | 0 | 2 | 4,361 | 0 | 0 | |
| duration_field ↗ | 0 | 0 | 1 | 4,138 | 0 | 0 | |
| cdn ↗ | 0 | 0 | 2 | 3,951 | 0 | 0 | |
| paragraphs_limits ↗ | 0 | 0 | 1 | 3,442 | 0 | 0 | |
| registration ↗ | 0 | 0 | 1 | 3,058 | 0 | 0 | |
| limited_field_widgets ↗ | 0 | 0 | 1 | 2,946 | 0 | 0 | |
| markdown ↗ | 0 | 0 | 1 | 2,876 | 0 | 0 | |
| onlyone ↗ | 0 | 0 | 1 | 2,857 | 0 | 0 | |
| media_power_bi ↗ | 0 | 0 | 1 | 2,802 | 0 | 0 | |
| preview_link ↗ | 0 | 0 | 1 | 2,692 | 0 | 0 | |
| commerce_license ↗ | 0 | 0 | 1 | 2,661 | 0 | 0 | |
| media_tyler_data_insights ↗ | 0 | 0 | 1 | 2,632 | 0 | 0 | |
| media_crowdriff ↗ | 0 | 0 | 1 | 2,463 | 0 | 0 | |
| menu_item_limit ↗ | 0 | 0 | 1 | 2,399 | 0 | 0 | |
| entity_reference_validators ↗ | 0 | 0 | 2 | 2,274 | 0 | 0 | |
| helper ↗ | 0 | 0 | 1 | 2,267 | 0 | 0 | |
| symfony_mailer_log ↗ | 0 | 0 | 1 | 2,125 | 0 | 0 | |
| colorapi ↗ | 0 | 0 | 2 | 2,101 | 0 | 0 | |
| unique_content_field_validation ↗ | 0 | 0 | 2 | 2,090 | 0 | 0 | |
| isbn ↗ | 0 | 0 | 1 | 2,052 | 0 | 0 | |
| media_duplicates ↗ | 0 | 0 | 2 | 2,024 | 0 | 0 | |
| private_message ↗ | 0 | 0 | 2 | 1,984 | 0 | 0 | |
| entity_hierarchy ↗ | 0 | 2 | 0 | 1,934 | 0 | 0 | |
| homebox ↗ | 0 | 0 | 1 | 1,919 | 0 | 0 | |
| file_link ↗ | 3 | 0 | 0 | 1,903 | 0 | 0 | |
| unique_entity_title ↗ | 0 | 0 | 1 | 1,771 | 0 | 0 | |
| commerce_cart_api ↗ | 0 | 0 | 1 | 1,722 | 0 | 0 | |
| phone_number ↗ | 0 | 0 | 1 | 1,695 | 0 | 0 | |
| domain_path ↗ | 0 | 0 | 2 | 1,691 | 0 | 0 | |
| commerce_product_tax ↗ | 0 | 0 | 1 | 1,659 | 0 | 0 | |
| node_title_validation ↗ | 0 | 0 | 2 | 1,656 | 0 | 0 | |
| require_on_publish ↗ | 0 | 0 | 2 | 1,543 | 0 | 0 | |
| mercury_editor ↗ | 0 | 0 | 3 | 1,474 | 0 | 0 | |
| ginvite ↗ | 0 | 0 | 3 | 1,439 | 0 | 0 | |
| acquia_dam ↗ | 0 | 0 | 1 | 1,395 | 0 | 0 | |
| commerce_giftcard ↗ | 0 | 0 | 1 | 1,224 | 0 | 0 | |
| media_entity_lottie ↗ | 0 | 0 | 1 | 1,206 | 0 | 0 | |
| user_restrictions ↗ | 0 | 0 | 1 | 1,092 | 0 | 0 | |
| grequest ↗ | 0 | 0 | 1 | 1,072 | 0 | 0 | |
| fraction ↗ | 0 | 0 | 2 | 965 | 0 | 0 | |
| mobile_number ↗ | 0 | 0 | 1 | 925 | 0 | 0 | |
| build_hooks ↗ | 0 | 0 | 1 | 894 | 0 | 0 | |
| brightcove ↗ | 0 | 0 | 2 | 893 | 0 | 0 | |
| advanced_email_validation ↗ | 0 | 0 | 2 | 891 | 0 | 0 | |
| media_entity_pinterest ↗ | 0 | 0 | 1 | 863 | 0 | 0 | |
| apigee_edge ↗ | 0 | 0 | 2 | 853 | 0 | 0 | |
| media_entity_facebook ↗ | 0 | 0 | 2 | 838 | 0 | 0 | |
| machine_name ↗ | 0 | 0 | 1 | 819 | 0 | 0 | |
| varbase_media ↗ | 0 | 0 | 3 | 815 | 0 | 0 | |
| controlled_access_terms ↗ | 0 | 0 | 1 | 758 | 0 | 0 | |
| opigno_scorm ↗ | 0 | 0 | 1 | 613 | 0 | 0 | |
| alt_text_validation ↗ | 0 | 0 | 1 | 570 | 0 | 0 | |
| ggroup ↗ | 0 | 0 | 3 | 557 | 0 | 0 | |
| apigee_api_catalog ↗ | 0 | 0 | 1 | 539 | 0 | 0 | |
| entity_legal ↗ | 0 | 0 | 1 | 517 | 0 | 0 | |
| ai_integration_eca ↗ | 0 | 0 | 1 | 441 | 0 | 0 | |
| tool ↗ | 0 | 0 | 1 | 433 | 0 | 0 | |
| commerce_registration ↗ | 0 | 0 | 2 | 389 | 0 | 0 | |
| opigno_social ↗ | 0 | 0 | 1 | 380 | 0 | 0 | |
| bookable_calendar ↗ | 0 | 0 | 1 | 349 | 0 | 0 | |
| ai_context ↗ | 0 | 0 | 1 | 340 | 0 | 0 | |
| cas_server ↗ | 0 | 0 | 2 | 327 | 0 | 0 | |
| pdfa11y ↗ | 0 | 0 | 1 | 304 | 0 | 0 | |
| email_username ↗ | 0 | 0 | 2 | 300 | 0 | 0 | |
| workflows_field ↗ | 0 | 0 | 1 | 291 | 0 | 0 | |
| media_avportal ↗ | 0 | 0 | 1 | 279 | 0 | 0 | |
| pluginreference ↗ | 0 | 0 | 1 | 276 | 0 | 0 | |
| telephone_advanced ↗ | 0 | 0 | 1 | 276 | 0 | 0 | |
| redhen ↗ | 0 | 0 | 1 | 275 | 0 | 0 | |
| phonenumber ↗ | 0 | 0 | 1 | 272 | 0 | 0 | |
| content_model_documentation ↗ | 0 | 0 | 1 | 265 | 0 | 0 | |
| xnumber ↗ | 0 | 0 | 1 | 265 | 0 | 0 | |
| access_policy ↗ | 0 | 0 | 2 | 258 | 0 | 0 | |
| group_permissions ↗ | 0 | 0 | 2 | 254 | 0 | 0 | |
| flowdrop ↗ | 0 | 0 | 3 | 240 | 0 | 0 | |
| wse ↗ | 0 | 0 | 2 | 227 | 0 | 0 | |
| field_nif ↗ | 0 | 0 | 2 | 202 | 0 | 0 | |
| media_entity_remote_image ↗ | 0 | 0 | 1 | 193 | 0 | 0 | |
| meta_entity ↗ | 0 | 0 | 1 | 193 | 0 | 0 | |
| masquerade_field ↗ | 0 | 0 | 1 | 168 | 0 | 0 | |
| allow_only_one ↗ | 0 | 0 | 1 | 167 | 0 | 0 | |
| file_temporary_validator ↗ | 0 | 0 | 1 | 167 | 0 | 0 | |
| alert_message ↗ | 0 | 0 | 2 | 162 | 0 | 0 | |
| comment_limit ↗ | 0 | 0 | 1 | 147 | 0 | 0 | |
| google_calendar_service ↗ | 0 | 0 | 3 | 146 | 0 | 0 | |
| apigee_m10n ↗ | 0 | 0 | 1 | 137 | 0 | 0 | |
| rut ↗ | 0 | 0 | 1 | 137 | 0 | 0 | |
| lms ↗ | 0 | 0 | 1 | 131 | 0 | 0 | |
| group_context_domain ↗ | 0 | 0 | 1 | 120 | 0 | 0 | |
| openy_repeat ↗ | 0 | 0 | 1 | 107 | 0 | 0 | |
| link_allowed_hosts ↗ | 0 | 0 | 2 | 105 | 0 | 0 | |
| commerce_funds ↗ | 0 | 0 | 2 | 102 | 0 | 0 | |
| summary_word_limit ↗ | 0 | 0 | 1 | 102 | 0 | 0 | |
| linky ↗ | 0 | 0 | 2 | 99 | 0 | 0 | |
| pm ↗ | 0 | 0 | 2 | 97 | 0 | 0 | |
| scorm_field ↗ | 0 | 0 | 2 | 84 | 0 | 0 | |
| commerce_variation_bundle ↗ | 0 | 0 | 1 | 81 | 0 | 0 | |
| openagenda ↗ | 0 | 0 | 2 | 79 | 0 | 0 | |
| field_sample_value ↗ | 0 | 0 | 1 | 78 | 0 | 0 | |
| xero ↗ | 0 | 0 | 2 | 75 | 0 | 0 | |
| frontify ↗ | 0 | 0 | 1 | 74 | 0 | 0 | |
| content_moderation_permissions ↗ | 0 | 0 | 1 | 70 | 0 | 0 | |
| signature_pad ↗ | 0 | 0 | 1 | 70 | 0 | 0 | |
| duet_date_picker ↗ | 0 | 0 | 1 | 65 | 0 | 0 | |
| crm ↗ | 0 | 0 | 1 | 62 | 0 | 0 | |
| layout_builder_ipe ↗ | 0 | 0 | 1 | 58 | 0 | 0 | |
| redirect_regex ↗ | 0 | 0 | 1 | 57 | 0 | 0 | |
| entity_workflow ↗ | 0 | 0 | 1 | 56 | 0 | 0 | |
| farm_ledger ↗ | 0 | 0 | 2 | 56 | 0 | 0 | |
| group_context_path_prefix ↗ | 0 | 0 | 1 | 50 | 0 | 0 | |
| keepeek ↗ | 0 | 0 | 1 | 50 | 0 | 0 | |
| paragraphs_blokkli ↗ | 0 | 0 | 1 | 47 | 0 | 0 | |
| micro_site ↗ | 0 | 0 | 1 | 45 | 0 | 0 | |
| points ↗ | 0 | 0 | 1 | 45 | 0 | 0 | |
| burndown ↗ | 0 | 0 | 1 | 44 | 0 | 0 | |
| crossword ↗ | 0 | 0 | 1 | 42 | 0 | 0 | |
| tsbu ↗ | 0 | 0 | 1 | 40 | 0 | 0 | |
| auctions ↗ | 0 | 0 | 2 | 36 | 0 | 0 | |
| telephone_type ↗ | 1 | 0 | 0 | 36 | 0 | 0 | |
| username_policy ↗ | 0 | 0 | 2 | 35 | 0 | 0 | |
| vgwort ↗ | 0 | 0 | 2 | 35 | 0 | 0 | |
| decoupled_auth ↗ | 0 | 0 | 2 | 34 | 0 | 0 | |
| media_type_youku ↗ | 0 | 0 | 1 | 34 | 0 | 0 | |
| doi_field ↗ | 0 | 0 | 1 | 33 | 0 | 0 | |
| ecoindex ↗ | 0 | 0 | 1 | 31 | 0 | 0 | |
| alternative_user_emails ↗ | 0 | 0 | 1 | 29 | 0 | 0 | |
| prevent_absolute_internal_links ↗ | 0 | 0 | 1 | 29 | 0 | 0 | |
| gauth_user ↗ | 0 | 0 | 1 | 27 | 0 | 0 | |
| content_translation_access ↗ | 0 | 0 | 1 | 26 | 0 | 0 | |
| data_pipelines ↗ | 0 | 0 | 1 | 24 | 0 | 0 | |
| generate_style_theme ↗ | 0 | 0 | 2 | 24 | 0 | 0 | |
| drowl_media ↗ | 0 | 0 | 3 | 23 | 0 | 0 | |
| seo_urls ↗ | 0 | 0 | 1 | 23 | 0 | 0 | |
| date_point ↗ | 0 | 0 | 1 | 22 | 0 | 0 | |
| username ↗ | 0 | 0 | 1 | 22 | 0 | 0 | |
| alien_alias ↗ | 0 | 0 | 1 | 21 | 0 | 0 | |
| language_country_negotiation ↗ | 0 | 0 | 1 | 19 | 0 | 0 | |
| properties_field ↗ | 0 | 0 | 1 | 19 | 0 | 0 | |
| sshkey ↗ | 0 | 0 | 1 | 17 | 0 | 0 | |
| ephoto_dam ↗ | 0 | 0 | 1 | 16 | 0 | 0 | |
| intercept ↗ | 0 | 0 | 1 | 16 | 0 | 0 | |
| mutual_credit ↗ | 0 | 0 | 1 | 16 | 0 | 0 | |
| monster_menus ↗ | 0 | 0 | 1 | 15 | 0 | 0 | |
| affiliated ↗ | 0 | 0 | 1 | 14 | 0 | 0 | |
| bunny_stream ↗ | 0 | 0 | 1 | 14 | 0 | 0 | |
| contacts ↗ | 0 | 0 | 1 | 14 | 0 | 0 | |
| jsonld_simple ↗ | 0 | 0 | 1 | 14 | 0 | 0 | |
| api ↗ | 0 | 0 | 1 | 13 | 0 | 0 | |
| hospital_price_transparency ↗ | 0 | 0 | 2 | 13 | 0 | 0 | |
| oh ↗ | 0 | 0 | 1 | 13 | 0 | 0 | |
| spalp ↗ | 0 | 0 | 1 | 13 | 0 | 0 | |
| user_referral ↗ | 0 | 0 | 1 | 13 | 0 | 0 | |
| api_toolkit ↗ | 0 | 0 | 1 | 12 | 0 | 0 | |
| cool_calendar_extras ↗ | 0 | 0 | 1 | 12 | 0 | 0 | |
| livre ↗ | 0 | 0 | 1 | 12 | 0 | 0 | |
| media_entity_carto ↗ | 0 | 0 | 1 | 12 | 0 | 0 | |
| url_path_restrictions ↗ | 0 | 0 | 1 | 12 | 0 | 0 | |
| experience_builder ↗ | 0 | 0 | 2 | 11 | 0 | 0 | |
| frontify_assets ↗ | 0 | 0 | 2 | 11 | 0 | 0 | |
| mailgroup ↗ | 0 | 0 | 1 | 11 | 0 | 0 | |
| drw ↗ | 0 | 0 | 1 | 10 | 0 | 0 | |
| email_validate ↗ | 0 | 0 | 1 | 10 | 0 | 0 | |
| entity_attributes ↗ | 0 | 0 | 1 | 10 | 0 | 0 | |
| proc ↗ | 0 | 0 | 1 | 10 | 0 | 0 | |
| commerce_partial_payments ↗ | 0 | 0 | 1 | 9 | 0 | 0 | |
| commerce_referral ↗ | 0 | 0 | 1 | 9 | 0 | 0 | |
| modules_info ↗ | 0 | 0 | 1 | 9 | 0 | 0 | |
| commerce_amazon_sp_api ↗ | 0 | 0 | 1 | 8 | 0 | 0 | |
| farm_rcd ↗ | 0 | 0 | 1 | 8 | 0 | 0 | |
| kontainer ↗ | 0 | 0 | 1 | 8 | 0 | 0 | |
| user_coins ↗ | 0 | 0 | 1 | 8 | 0 | 0 | |
| comments_ban ↗ | 0 | 0 | 1 | 7 | 0 | 0 | |
| language_combination ↗ | 0 | 0 | 1 | 7 | 0 | 0 | |
| prosemirror ↗ | 0 | 0 | 1 | 7 | 0 | 0 | |
| scss_field ↗ | 0 | 0 | 1 | 7 | 0 | 0 | |
| apisync ↗ | 0 | 0 | 1 | 6 | 0 | 0 | |
| de_notifications ↗ | 0 | 0 | 1 | 6 | 0 | 0 | |
| oauth_client ↗ | 0 | 0 | 1 | 6 | 0 | 0 | |
| simple_oauth_redirect_uri_wildcard ↗ | 0 | 0 | 1 | 6 | 0 | 0 | |
| siteimprove_accessibility ↗ | 0 | 0 | 2 | 6 | 0 | 0 | |
| telegram_media_type ↗ | 0 | 0 | 1 | 6 | 0 | 0 | |
| wedia ↗ | 0 | 0 | 1 | 6 | 0 | 0 | |
| content_moderation_reviewer ↗ | 0 | 0 | 1 | 5 | 0 | 0 | |
| do_username ↗ | 0 | 0 | 1 | 5 | 0 | 0 | |
| inline_image_saver ↗ | 0 | 0 | 1 | 5 | 0 | 0 | |
| advanced_403_redirect ↗ | 0 | 0 | 2 | 4 | 0 | 0 | |
| collection ↗ | 0 | 0 | 1 | 4 | 0 | 0 | |
| ntc ↗ | 0 | 0 | 1 | 4 | 0 | 0 | |
| site ↗ | 0 | 0 | 1 | 4 | 0 | 0 | |
| field_ipaddress_pgsql ↗ | 0 | 0 | 2 | 3 | 0 | 0 | |
| association ↗ | 0 | 0 | 2 | 2 | 0 | 0 | |
| entity_counter ↗ | 0 | 0 | 1 | 2 | 0 | 0 | |
| gtm_datalayer ↗ | 0 | 0 | 1 | 2 | 0 | 0 | |
| media_entity_dreambroker ↗ | 0 | 0 | 2 | 2 | 0 | 0 | |
| nested_set ↗ | 0 | 0 | 1 | 2 | 0 | 0 | |
| normalize_and_validate ↗ | 0 | 0 | 1 | 2 | 0 | 0 | |
| smallads ↗ | 0 | 0 | 1 | 2 | 0 | 0 | |
| user_mail_control ↗ | 0 | 0 | 1 | 2 | 0 | 0 | |
| api_token_entity ↗ | 0 | 0 | 1 | 1 | 0 | 0 | |
| burnafter ↗ | 0 | 0 | 1 | 1 | 0 | 0 | |
| drupal_telegram_sdk ↗ | 0 | 0 | 1 | 1 | 0 | 0 | |
| finders ↗ | 0 | 0 | 1 | 1 | 0 | 0 | |
| oembed_field ↗ | 0 | 0 | 1 | 1 | 0 | 0 | |
| abstract_email_validation ↗ | 0 | 0 | 1 | 0 | 0 | 0 | |
| eduframe ↗ | 0 | 0 | 2 | 0 | 0 | 0 | |
| entity_switcher ↗ | 0 | 0 | 1 | 0 | 0 | 0 | |
| iframe_consent ↗ | 0 | 0 | 2 | 0 | 0 | 0 |