Validierung Part II, neue Komponenten

This commit is contained in:
2024-08-01 22:43:32 +02:00
parent 2955c034a0
commit 29f88d610f
18 changed files with 1431 additions and 242 deletions

View File

@@ -0,0 +1,31 @@
import { Injectable, InjectionToken } from '@angular/core';
import { BehaviorSubject, Observable } from 'rxjs';
export interface ValidationMessage {
field: string;
message: string;
}
export const VALIDATION_MESSAGES = new InjectionToken<ValidationMessagesService>('VALIDATION_MESSAGES');
@Injectable({
providedIn: 'root',
})
export class ValidationMessagesService {
private messagesSubject = new BehaviorSubject<ValidationMessage[]>([]);
messages$: Observable<ValidationMessage[]> = this.messagesSubject.asObservable();
updateMessages(messages: ValidationMessage[]): void {
this.messagesSubject.next(messages);
}
clearMessages(): void {
this.messagesSubject.next([]);
}
getMessage(field: string): string | null {
const messages = this.messagesSubject.value;
const message = messages.find(m => m.field === field);
return message ? message.message : null;
}
}