|{{:undo-2.svg?30|}}| [[certif:do#procedures|Retour au Dossier Organisationnel]]|
|{{:connexe.jpg?40|}} **Sujets connexes**|[[certif:procedure:develop:angular]]\\ [[certif:procedure:develop:angular:validator]]|
====== Validateurs DevExtreme (Validation Rules) ======
^ Type ^ Description ^ Attributs principaux ^
| required | Rend le champ obligatoire. | message |
| range | Vérifie qu'une valeur est comprise entre deux bornes (dates ou nombres). | min, max, message |
| stringLength | Contrôle le nombre de caractères. | min, max, trim, message |
| pattern | Valide la saisie via une expression régulière (Regex). | pattern (ex: /[0-9]/), message |
| email | Vérifie que le format correspond à une adresse email. | message |
| compare | Compare la valeur avec un autre champ ou une constante. | comparisonTarget (fonction), comparisonType, message |
| numeric | Vérifie que la valeur est un nombre. | message |
| custom | Permet de créer une logique métier complexe en TypeScript. | validationCallback, message, reevaluate |
| async | Pour les validations nécessitant un appel API (ex: vérification unicité). | validationCallback (doit retourner une Promise/Observable) |
Détails techniques des règles
==== Required (Obligatoire) ====
C'est le plus commun. Il vérifie que la valeur n'est ni ''null'', ni ''undefined'', ni une chaîne vide.
==== Range (Plage de valeurs) ====
Indispensable pour les dates de naissance ou les montants.
min : Valeur minimum autorisée.
max : Valeur maximum autorisée.
==== Pattern (Regex) ====
Idéal pour les codes postaux, numéros de téléphone ou formats spécifiques (IBAN).
==== Custom (Personnalisé) ====
Utilisé quand les règles standards ne suffisent pas. La fonction de callback reçoit un objet contenant la valeur.
==== Async (Asynchrone) ====
Utilisé pour vérifier une donnée sur le serveur sans bloquer l'interface.
Propriétés communes à toutes les règles
message : Le texte qui sera affiché dans le résumé d'erreurs (votre Toast).
ignoreEmptyValue : (Boolean) Si ''true'', la règle n'est pas testée si le champ est vide (sauf pour la règle ''required'').
reevaluate : (Boolean) Force la règle à se re-valider même si la valeur n'a pas changé (utile pour les comparaisons entre deux champs).