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:43] – [Les différents dx-validator] nicolascertif:procedure:develop:angular:validator [2026/03/13 17:05] (Version actuelle) – [L'organisation des tests] nicolas
Ligne 17: Ligne 17:
   * [[certif:procedure:develop:angular:validator-detail]]   * [[certif:procedure:develop:angular:validator-detail]]
   * les validateurs "custum" **doivent** être déclaré dans la bibliothèque dans **custom-validation-rule.ts** et donc appelé via le service **customValidatorService**     * les validateurs "custum" **doivent** être déclaré dans la bibliothèque dans **custom-validation-rule.ts** et donc appelé via le service **customValidatorService**  
 +  * [[certif:procedure:develop:angular:validator-date]]
  
-==== Cas particulier des dates ==== +===== L'organisation des tests ===== 
-=== HTML ===+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> <code>
-<dx-date-box stylingMode="outlined" labelMode="static" label="Date de naissance" [(value)]="personne.dateNaissance"  +  private Notificationinject(NotificationService
-  [max]="today" displayFormat="dd/MM/yyyy" [useMaskBehavior]="true" [showClearButton]="true" [readOnly]="!this.DG.isDroitsFichierEdition()" +
-  [style.background-color]="BC.mRGPD('personne','dateNaissance').couleur" (onValueChanged)="handlePersonneChanged()"> +
-    <dx-validator validationGroup="infoPersonne" name="Date de naissance"> +
-      <dxi-validation-rule type="range" [max]="today" [min]="minDateNaissance" message="'La date doit être après ' + (minDateNaissance | date:'yyyy')"/> +
-  </dx-validator> +
-</dx-date-box> +
-</code> +
-=== TS === +
-<code> +
-  // Bornes de validation de la date de naissance +
-  public today: Date = new Date(); +
-  public minDateNaissance: Date = new Date();+
      
-  // Message dynamique pour le validateur +  ngAfterViewInit() { 
-  public rangeMessage: string = ""; +    //votre code ici si besoin 
- +    this.triggerValidation();
-  ngOnInit(): void +
-    this.initValidationDates();+
   }   }
  
- +  private triggerValidation() { 
-  /** +    this.Notification.analyseStockValidation("infoBanque","Information bancaires");
-   * Initialise les bornes de temps pour le dx-date-box +
-   */ +
-  private initValidationDates() { +
-    // 1On fixe AUJOURD'HUI à la fin de la journée (23:59:59) +
-    // Cela évite que la date du jour soit considérée comme "dans le futur" +
-    this.today = new Date(); +
-    this.today.setHours(2359, 59, 999)+
- +
-    // 2. On calcule MINIMUM (Aujourd'hui - 120 ans) +
-    this.minDateNaissance = new Date(); +
-    this.minDateNaissance.setFullYear(this.today.getFullYear() - 120); +
-    this.minDateNaissance.setHours(0, 0, 0, 0); +
- +
-    // 3. On prépare le message d'erreur +
-    this.rangeMessage = `La date doit être comprise entre ${this.minDateNaissance.getFullYear()} et aujourd'hui.`;+
   }   }
- +   
-</code>+  handleInfoBanqueChanged() { 
 +    // votre code si beoin 
 +    this.triggerValidation(); 
 +    this.infoBancairesChange.emit(JSON.stringify(this.infoBanque)) 
 +  } 
 +  </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|