Règle de validation
Une règle de validation Salesforce est une formule rattachée à un objet, qui contrôle un enregistrement avant qu’il soit sauvegardé. Lorsque la formule renvoie vrai, les données sont considérées comme non valides : l’enregistrement est refusé et l’utilisateur voit le message d’erreur de la règle, à côté d’un champ ou en haut de la page.
Comment fonctionne une règle de validation
La formule de la règle renvoie vrai ou faux. Vrai signifie que l’enregistrement enfreint la règle. Des fonctions comme ISNEW et ISCHANGED permettent de n’appliquer une règle qu’à la création, ou seulement quand un champ donné change. La règle s’applique aux enregistrements créés et modifiés, même lorsque les champs qu’elle cite ne figurent ni dans la présentation de page ni dans l’appel API.
Lorsqu’une règle échoue, Salesforce continue d’évaluer les autres et renvoie tous les messages d’erreur ensemble.
Sa place dans l’enregistrement
Les règles de validation personnalisées s’exécutent après les flows avant enregistrement et les déclencheurs Apex before, en même temps que le second passage de la validation système. Une valeur définie par un déclencheur before est donc validée ; une valeur définie plus tard par une mise à jour de champ de workflow ne l’est pas, car les règles de validation ne sont pas réévaluées à cette étape.
Là où elle ne s’applique pas
Salesforce liste des contextes dans lesquels les règles de validation ne s’exécutent pas, notamment les enregistrements créés par la création rapide, les changements de propriétaire faits avec l’outil de transfert en masse, les mises à jour de champ de workflow, et la conversion de piste, sauf si l’org a activé la validation et les déclencheurs pour la conversion de piste. Une règle protège solidement les modifications faites par les utilisateurs et par l’API, mais ne garantit pas les données de façon absolue.
Pourquoi les règles de validation comptent pour la documentation
Les règles de validation traduisent souvent les règles métier qu’une organisation applique réellement : un plafond de remise, un champ obligatoire à une étape donnée. Leur formule le dit avec précision, mais de façon peu lisible, et le message d’erreur explique rarement pourquoi la règle existe.
Ce qu’apporte aprity
aprity lit chaque règle de validation dans les métadonnées et la documente objet par objet, en termes métier : ce qu’elle bloque et dans quel cas, avec un lien vers le composant dont elle est tirée. Le graphe d’exécution de l’objet montre sa place parmi les autres automatisations de l’enregistrement, et la comparaison en langage métier entre deux analyses indique quand une règle a été ajoutée, modifiée ou supprimée.
Termes liés
- Ordre d’exécution Salesforce — La séquence fixe dans laquelle Salesforce exécute flows, déclencheurs, règles de validation et autres automatisations lors de la sauvegarde d’un enregistrement.
- Déclencheur Apex — Du code Apex exécuté automatiquement avant ou après l’insertion, la mise à jour, la suppression ou la restauration d’enregistrements d’un objet.
- Dette technique Salesforce — Le coût accumulé des raccourcis passés dans la configuration et le code d’une org Salesforce, qui rend chaque évolution plus lente et plus risquée.
Sources
La documentation officielle de Salesforce sur laquelle cette définition a été vérifiée (pages en anglais). Le comportement de la plateforme évolue d’une version à l’autre : la page citée fait foi.