meta données pour cette page
  •  

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
certif:procedure:develop:angular:validator [2026/03/13 16:44] nicolascertif:procedure:develop:angular:validator [2026/05/21 11:50] (Version actuelle) – [Tests "manuels"] nicolas
Ligne 19: Ligne 19:
   * [[certif:procedure:develop:angular:validator-date]]   * [[certif:procedure:develop:angular:validator-date]]
  
 +===== L'organisation des tests =====
 +Comme on l'a vu plus haut les validators sont regroupés en **validationGroup**\\
 +Dans le composant on va déclaré une série de procédures (pour une meilleur lecture on essaye de garder la nomenclature)
 +<code>
 +  private Notification= inject(NotificationService) 
 +  
 +  ngAfterViewInit() {
 +    //votre code ici si besoin
 +    this.triggerValidation();
 +  }
 +
 +  private triggerValidation() {
 +    this.Notification.analyseStockValidation("infoBanque","Information bancaires");
 +  }
 +  
 +  handleInfoBanqueChanged() {
 +    // votre code si beoin
 +    this.triggerValidation();
 +    this.infoBancairesChange.emit(JSON.stringify(this.infoBanque))
 +  }
 +  </code>
 +  
 +==== Tests "manuels" ====
 +<code>
 +    test_warning(){
 +        this.Notification.videWarning();
 +        if (this.personne.dateFinConservation) {
 +            const aujourdhui = new Date(); aujourdhui.setHours(0, 0, 0, 0);
 +            if (this.personne.dateFinConservation && new Date(this.personne.dateFinConservation) < aujourdhui) {
 +                this.Notification.ajouteWarning('RGPD','La date de fin de consentement de cette personne est dépassée')} 
 +            else {
 +                const bientot = new Date(); aujourdhui.setHours(0, 0, 0, 0); bientot.setMonth(bientot.getMonth()+6); 
 +                if (this.personne.dateFinConservation && new Date(this.personne.dateFinConservation) < bientot) {
 +                    this.Notification.ajouteWarning('RGPD','La date de fin de consentement de cette personne va bientôt être dépassée')
 +                }
 +            } 
 +        } else {this.Notification.ajouteWarning('RGPD',"La date de fin de consentement de cette personne n'est pas initialisée")}
 +    }
 +</code>
 +\\
 +<code>
 +  private triggerValidation() {
 +    this.Notification.analyseStockValidation("infoIdentification","Information d'identicateur");
 +    if ((this.SIREN=="")&&(this.RNA=="")) {
 +      this.Notification.ajouteErreur("infoIdentification","Veuillez saisir au moins un des champs SIREN ou RNA")
 +    }
 +  }
 +</code>
 +
 +
 +
 +==== Le service "Notification" ====
 +Il publie plusieurs fonctions :
 +|analyseStockValidation(validateGroup:string, nomBloc:string)|**validateGroup** est le nom du groupe de test (on peut en avoir plusieurs dans un même composant)\\ **nomBloc** sert à l'affichage à indiquer à l'utilisateur ou se trouve les champs à corriger|