diff --git a/frontend/src/lib/components/DateTimeInput.svelte b/frontend/src/lib/components/DateTimeInput.svelte index 135ae94697..7524e1f724 100644 --- a/frontend/src/lib/components/DateTimeInput.svelte +++ b/frontend/src/lib/components/DateTimeInput.svelte @@ -3,9 +3,10 @@ export let autofocus: boolean = false - let dateFromValue = value ? new Date(value) : undefined - let date = dateFromValue ? dateFromValue.toISOString().split('T')[0] : undefined - let time = dateFromValue ? dateFromValue.toISOString().split('T')[1] : '00:00' + let dateFromValue: Date | undefined = value ? new Date(value) : undefined + + let date = isValidDate(dateFromValue) ? dateFromValue!.toISOString().split('T')[0] : undefined + let time = isValidDate(dateFromValue) ? dateFromValue!.toISOString().split('T')[1] : '00:00' $: { if (date && time) { @@ -13,6 +14,10 @@ value = newDate.toISOString() } } + + function isValidDate(d: Date | undefined): boolean { + return d instanceof Date && !isNaN(d as any) + }