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();