Skip to content
Snippets Groups Projects
Unverified Commit 8d221fe1 authored by Sally Young's avatar Sally Young
Browse files

Issue #3354606 by ranjith_kumar_k_u, pascalim, Abhijith S, smustgrave,...

Issue #3354606 by ranjith_kumar_k_u, pascalim, Abhijith S, smustgrave, borisson_: Datetime field name missing from validation error message

(cherry picked from commit 1aaa480b)
parent 2090b606
No related branches found
No related tags found
32 merge requests!11628Update file MediaLibraryWidget.php,!7564Revert "Issue #3364773 by roshnichordiya, Chris Matthews, thakurnishant_06,...,!5752Issue #3275828 by joachim, quietone, bradjones1, Berdir: document the reason...,!5688Issue #3087950 by Utkarsh_33, swatichouhan012, komalk, Sivaji_Ganesh_Jojodae,...,!5627Issue #3261805: Field not saved when change of 0 on string start,!5427Issue #3338518: send credentials in ajax if configured in CORS settings.,!5395Issue #3387916 by fjgarlin, Spokje: Each GitLab job exposes user email,!5217Issue #3386607 by alexpott: Improve spell checking in commit-code-check.sh,!5064Issue #3379522 by finnsky, Gauravvvv, kostyashupenko, smustgrave, Chi: Revert...,!5040SDC ComponentElement: Transform slots scalar values to #plain_text instead of throwing an exception,!4958Issue #3392147: Whitelist IP for a Ban module.,!4942Issue #3365945: Errors: The following table(s) do not have a primary key: forum_index,!4894Issue #3280279: Add API to allow sites to opt in to upload SVG images in CKEditor 5,!4857Issue #3336994: StringFormatter always displays links to entity even if the user in context does not have access,!4856Issue #3336994: StringFormatter always displays links to entity even if the user in context does not have access,!4788Issue #3272985: RSS Feed header reverts to text/html when cached,!4716Issue #3362929: Improve 400 responses for broken/invalid image style routes,!4553Draft: Issue #2980951: Permission to see own unpublished comments in comment thread,!4273Add UUID to sections,!4192Issue #3367204: [CKEditor5] Missing dependency on drupal.ajax,!4100Issue #3249600: Add support for PHP 8.1 Enums as allowed values for list_* data types,!4090Draft: Issue #3362924 by shwetaDevkate, Gauravvvv, frank8199,!3679Issue #115801: Allow password on registration without disabling e-mail verification,!3676Issue #3347497: Introduce a FetchModeTrait to allow emulating PDO fetch modes,!3629Issue #3347343: Continuation Add Views EntityReference filter to be available for all entity reference fields,!3106Issue #3017548: "Filtered HTML" text format does not support manual teaser break (<!--break-->),!3066Issue #3325175: Deprecate calling \Drupal\menu_link_content\Form\MenuLinkContentForm::_construct() with the $language_manager argument,!3004Issue #2463967: Use .user.ini file for PHP settings,!2851Issue #2264739: Allow multiple field widgets to not use tabledrag,!1484Exposed filters get values from URL when Ajax is on,!925Issue #2339235: Remove taxonomy hard dependency on node module,!872Draft: Issue #3221319: Race condition when creating menu links and editing content deletes menu links
......@@ -351,7 +351,7 @@ public static function validateDatetime(&$element, FormStateInterface $form_stat
$input = NestedArray::getValue($form_state->getValues(), $element['#parents'], $input_exists);
if ($input_exists) {
$title = !empty($element['#title']) ? $element['#title'] : '';
$title = static::getElementTitle($element, $complete_form);
$date_format = $element['#date_date_element'] != 'none' ? static::getHtml5DateFormat($element) : '';
$time_format = $element['#date_time_element'] != 'none' ? static::getHtml5TimeFormat($element) : '';
$format = trim($date_format . ' ' . $time_format);
......
......@@ -10,6 +10,7 @@
use Drupal\field\Entity\FieldConfig;
use Drupal\field\Entity\FieldStorageConfig;
use Drupal\node\Entity\Node;
use Drupal\Core\Form\FormState;
/**
* Tests Datetime field functionality.
......@@ -385,6 +386,19 @@ public function testDatetimeField() {
]);
$output = $this->renderTestEntity($id);
$this->assertStringContainsString((string) $expected, $output, new FormattableMarkup('Formatted date field using datetime_time_ago format displayed as %expected.', ['%expected' => $expected]));
// Test the required field validation error message.
$entity = EntityTest::create(['name' => 'test datetime required message']);
$form = \Drupal::entityTypeManager()->getFormObject('entity_test', 'default')->setEntity($entity);
$form_state = new FormState();
\Drupal::formBuilder()->submitForm($form, $form_state);
$errors = $form_state->getErrors();
$arguments = $errors["{$field_name}][0][value"]->getArguments();
$expected_error_message = new FormattableMarkup('The %field date is required. Please enter a date in the format %format.', ['%field' => $field_label, '%format' => $arguments['%format']]);
$actual_error_message = $errors["{$field_name}][0][value"]->__toString();
$this->assertEquals($expected_error_message->__toString(), $actual_error_message);
// Verify the format value is in the "YYYY-MM-DD HH:MM:SS" format.
$this->assertMatchesRegularExpression('/^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/', $arguments['%format']);
}
/**
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment