When a validation error occurs in a datetime field, then the machine name of the field is used in the error messages, or the field name is omitted altogether. We should use the human readable name of the field to make it possible for a user to identify the field that has the error.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

pfrenssen created an issue. See original summary.

pfrenssen’s picture

pfrenssen’s picture

Title: Don't identify fields by mentioning machine names in validation error messages » Correctly mention field labels in form validation error messages
Status: Active » Needs review
FileSize
8.27 KB
7.06 KB
mpdonadio’s picture

I am 100% on board with this change. I think the biggest reason this slipped through the cracks is b/c some browsers (like Chrome) will enforce required fields, so a decent user set won't see these validation messages.

+++ b/core/lib/Drupal/Core/Datetime/Element/Datetime.php
@@ -331,7 +331,18 @@ public static function validateDatetime(&$element, FormStateInterface $form_stat
-      $title = !empty($element['#title']) ? $element['#title'] : '';
+      $title = '';
+      if (!empty($element['#title'])) {
+        $title = $element['#title'];
+      }
+      else {
+        $parents = $element['#array_parents'];
+        array_pop($parents);
+        $parent_element = NestedArray::getValue($complete_form, $parents);
+        if (!empty($parent_element['#title'])) {
+          $title = $parent_element['#title'];
+        }
+      }

I'll mention this here, too. Think we can move this to a method on DateElementBase so we can share it between the Datetime and Datelist elements.

The last submitted patch, 3: 2876047-3.patch, failed testing.

Status: Needs review » Needs work

The last submitted patch, 3: 2876047-3-test_only.patch, failed testing.

pfrenssen’s picture

Status: Needs work » Postponed

Postponing this on #2486019: Wrong validation messages in Datelist::validateDatelist() which will introduce the helper method on DateElementBase that is proposed in #4.

mpdonadio’s picture

Status: Postponed » Needs work

Version: 8.4.x-dev » 8.5.x-dev

Drupal 8.4.0-alpha1 will be released the week of July 31, 2017, which means new developments and disruptive changes should now be targeted against the 8.5.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.5.x-dev » 8.6.x-dev

Drupal 8.5.0-alpha1 will be released the week of January 17, 2018, which means new developments and disruptive changes should now be targeted against the 8.6.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.6.x-dev » 8.7.x-dev

Drupal 8.6.0-alpha1 will be released the week of July 16, 2018, which means new developments and disruptive changes should now be targeted against the 8.7.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.7.x-dev » 8.8.x-dev

Drupal 8.7.0-alpha1 will be released the week of March 11, 2019, which means new developments and disruptive changes should now be targeted against the 8.8.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.8.x-dev » 8.9.x-dev

Drupal 8.8.0-alpha1 will be released the week of October 14th, 2019, which means new developments and disruptive changes should now be targeted against the 8.9.x-dev branch. (Any changes to 8.9.x will also be committed to 9.0.x in preparation for Drupal 9’s release, but some changes like significant feature additions will be deferred to 9.1.x.). For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.9.x-dev » 9.1.x-dev

Drupal 8.9.0-beta1 was released on March 20, 2020. 8.9.x is the final, long-term support (LTS) minor release of Drupal 8, which means new developments and disruptive changes should now be targeted against the 9.1.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 9.1.x-dev » 9.2.x-dev

Drupal 9.1.0-alpha1 will be released the week of October 19, 2020, which means new developments and disruptive changes should now be targeted for the 9.2.x-dev branch. For more information see the Drupal 9 minor version schedule and the Allowed changes during the Drupal 9 release cycle.

Version: 9.2.x-dev » 9.3.x-dev

Drupal 9.2.0-alpha1 will be released the week of May 3, 2021, which means new developments and disruptive changes should now be targeted for the 9.3.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.3.x-dev » 9.4.x-dev

Drupal 9.3.0-rc1 was released on November 26, 2021, which means new developments and disruptive changes should now be targeted for the 9.4.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

hayashi’s picture

This problem still occurs.
I have created a patch that also uses helper functions in `Datetime` element.

andregp’s picture

Status: Needs work » Needs review
pooja saraah’s picture

FileSize
3.17 MB

Applied patch #18 in 9.4 successfully. Adding screenshots for reference

Libbna’s picture

Not able to reproduce this issue. Can anyone write the steps, how to reproduce this issue? Thank you.

Version: 9.4.x-dev » 9.5.x-dev

Drupal 9.4.0-alpha1 was released on May 6, 2022, which means new developments and disruptive changes should now be targeted for the 9.5.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.5.x-dev » 10.1.x-dev

Drupal 9.5.0-beta2 and Drupal 10.0.0-beta2 were released on September 29, 2022, which means new developments and disruptive changes should now be targeted for the 10.1.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

jaime@gingerrobot.com’s picture

Status: Needs review » Closed (cannot reproduce)
FileSize
125.89 KB

Hi, While the initial ticket was correct that this is still a bug in 9.4 (which I can re-create in 9.4.8) I can not reproduce this issue in Drupal 10 dev version.