File

projects/prestations-ng/src/validation/validation-handler.service.ts

Index

Properties
Methods
Accessors

Methods

getMessage
getMessage(component: FoehnInputComponent<any>, error: FormError)
Parameters :
Name Type Optional
component FoehnInputComponent<any> No
error FormError No
Returns : string
shouldDisplayErrors
shouldDisplayErrors(display: boolean)
Parameters :
Name Type Optional
display boolean No
Returns : void
updateErrors
updateErrors(errors: FormError[])
Parameters :
Name Type Optional
errors FormError[] No
Returns : void

Properties

Private _validationDisplaySubject
Type : Subject<boolean>
Default value : new BehaviorSubject<boolean>(true)
Private _validationErrorsSubject
Type : Subject<FormError[]>
Default value : new BehaviorSubject<FormError[]>([])

Accessors

validationErrorsSubject
getvalidationErrorsSubject()
validationDisplaySubject
getvalidationDisplaySubject()
import { Injectable } from '@angular/core';
import { BehaviorSubject, Observable, Subject } from 'rxjs';

// eslint-disable-next-line import/no-cycle
import { FoehnInputComponent } from '../foehn-input/foehn-input.component';
import { FormError } from '../form-error';

@Injectable({
    providedIn: 'root'
})
export class ValidationHandlerService {
    private _validationErrorsSubject: Subject<FormError[]> =
        new BehaviorSubject<FormError[]>([]);
    private _validationDisplaySubject: Subject<boolean> =
        new BehaviorSubject<boolean>(true);

    get validationErrorsSubject(): Observable<FormError[]> {
        return this._validationErrorsSubject.asObservable();
    }

    get validationDisplaySubject(): Observable<boolean> {
        return this._validationDisplaySubject.asObservable();
    }

    updateErrors(errors: FormError[]): void {
        this._validationErrorsSubject.next(errors);
    }

    shouldDisplayErrors(display: boolean): void {
        this._validationDisplaySubject.next(display);
    }

    getMessage(
        // eslint-disable-next-line @typescript-eslint/no-explicit-any
        component: FoehnInputComponent<any>,
        error: FormError
    ): string {
        // For template custom message
        if (component.customErrors[error.code]) {
            return component.customErrors[error.code];
        }
        // For custom validators & backend
        if (!!error.message) {
            return error.message;
        }
        // For undescribed errors
        return `Erreur de type "${error.code}" sur le champ`;
    }
}

results matching ""

    No results matching ""