From 64d9f3a6d4805cdddcec984415a2f2f79763b4be Mon Sep 17 00:00:00 2001
From: Darren Thornton <6361057+dthornton-hyl@users.noreply.github.com>
Date: Mon, 18 May 2026 06:42:59 -0500
Subject: [PATCH] AAE-45774 Show error for date fields if invalid format
(#11886)
* AAE-45774 Show error for date fields if invalid format
* apply copilot suggestions
---
.../card-view-dateitem.component.html | 5 +++++
.../card-view-dateitem.component.spec.ts | 15 +++++++++++++++
2 files changed, 20 insertions(+)
diff --git a/lib/core/src/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.html b/lib/core/src/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.html
index 1d49c59a9b..72ade4bf06 100644
--- a/lib/core/src/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.html
+++ b/lib/core/src/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.html
@@ -82,6 +82,11 @@
[startAt]="valueDate"
[ngClass]="{ 'cdk-visually-hidden': !editable || isReadonlyProperty}"
/>
+ @if (cardViewDateTimeControl.hasError('matDatepickerParse')) {
+
+ {{ 'FORM.FIELD.VALIDATOR.INVALID_DATE_FORMAT' | translate: { format: property.format ?? '' } }}
+
+ }
} @else {
diff --git a/lib/core/src/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.spec.ts b/lib/core/src/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.spec.ts
index 08f130bb58..f663c6130b 100644
--- a/lib/core/src/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.spec.ts
+++ b/lib/core/src/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.spec.ts
@@ -459,6 +459,21 @@ describe('CardViewDateItemComponent', () => {
expect(component.cardViewDateTimeControl.value).not.toBeNull();
});
+ it('should render error message when manual input has invalid date format', async () => {
+ fixture.detectChanges();
+
+ const manualInput = await testingUtils.getMatInputByDataAutomationId('datepicker-manual-input-dateKey');
+ await manualInput.setValue('not-a-date');
+ await manualInput.blur();
+ fixture.detectChanges();
+ await fixture.whenStable();
+ fixture.detectChanges();
+
+ expect(component.cardViewDateTimeControl.invalid).toBeTrue();
+ const formField = await testingUtils.getMatFormFieldByCSS('.adf-dateitem-editable');
+ expect(await formField.getTextErrors()).toContain('FORM.FIELD.VALIDATOR.INVALID_DATE_FORMAT');
+ });
+
it('should clear the form control value when onDateClear is called', () => {
fixture.detectChanges();