Feature/improve date validation in activity endpoints (#3489)

* Improve date validation

* Update changelog
This commit is contained in:
Thomas Kaul
2024-06-14 03:40:47 +02:00
committed by GitHub
parent 0adefe14e1
commit bf20a5de82
7 changed files with 60 additions and 4 deletions

View File

@@ -21,7 +21,7 @@ import { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { AssetClass, AssetSubClass, Tag, Type } from '@prisma/client';
import { isUUID } from 'class-validator';
import { isToday } from 'date-fns';
import { isAfter, isToday } from 'date-fns';
import { EMPTY, Observable, Subject, lastValueFrom, of } from 'rxjs';
import { catchError, delay, map, startWith, takeUntil } from 'rxjs/operators';
@@ -426,6 +426,14 @@ export class CreateOrUpdateActivityDialog implements OnDestroy {
});
}
public dateFilter(aDate: Date) {
if (!aDate) {
return true;
}
return isAfter(aDate, new Date(0));
}
public onAddTag(event: MatAutocompleteSelectedEvent) {
this.activityForm.get('tags').setValue([
...(this.activityForm.get('tags').value ?? []),

View File

@@ -157,7 +157,12 @@
<div class="mb-3">
<mat-form-field appearance="outline" class="w-100">
<mat-label i18n>Date</mat-label>
<input formControlName="date" matInput [matDatepicker]="date" />
<input
formControlName="date"
matInput
[matDatepicker]="date"
[matDatepickerFilter]="dateFilter"
/>
<mat-datepicker-toggle class="mr-2" matSuffix [for]="date">
<ion-icon
class="text-muted"