Lorsque vous travaillez avec des formulaires dans ActivityInfo, les enregistrements dans le tableau interactif sont marqués comme valides ou non valides. Bien que les règles de validation jouent un rôle important dans ce processus, elles ne sont qu'une partie de la manière dont ActivityInfo détermine si un enregistrement est valide.
Cet article explique ce qui détermine la validité globale d'un enregistrement.
Qu'est-ce que la validité d'un enregistrement ?
Un enregistrement est considéré comme valide lorsqu'il satisfait à tout moment à toutes les contraintes et règles de validation définies dans le formulaire.
En conséquence :
- Un enregistrement qui était valide lors de sa création peut devenir non valide par la suite
- Des erreurs de validation peuvent apparaître même si personne n'a modifié les données
Ce comportement est toujours présent dans ActivityInfo, mais il devient visible dans le tableau interactif, où de nombreux enregistrements sont affichés simultanément et les cellules non valides sont immédiatement mises en surbrillance.
Facteurs qui affectent la validité du formulaire
La validité des enregistrements dans ActivityInfo est déterminée par plusieurs propriétés du formulaire, notamment :
- Règles de validation
- Champs obligatoires
- Champs clés et uniques
- Règles de pertinence
- Masques de saisie
- Valeurs par défaut
Règles de validation
Règles de validation utilisant la date et l'heure
Lorsque les règles de validation dépendent de la date ou de l'heure actuelle.
Des fonctions telles que :
Ces fonctions renvoient des valeurs différentes au fil du temps. Les règles de validation qui utilisent ces fonctions verront donc leur résultat changer avec le temps.
Exemple
SESSION_DATE >= ADDDATE(TODAY(), -7) &&
SESSION_DATE < ADDDATE(TODAY(), 7)
Cette règle exige que la date de la session se situe dans les sept jours par rapport à aujourd'hui. La règle peut être satisfaite lorsque l'enregistrement est ajouté pour la première fois, mais des semaines plus tard, le même enregistrement peut se retrouver en dehors de cette plage et devenir non valide.
Lors de la consultation des données dans le tableau interactif, cela peut entraîner l'affichage simultané d'erreurs de validation pour de nombreux enregistrements.
Examinez chaque règle de validation et déterminez si elle est destinée à :
- Être toujours vraie pendant toute la durée de vie de l'enregistrement.
- S'appliquer uniquement lors de la saisie initiale des données.
- Des relations logiques entre les champs (par exemple, une date de début antérieure à une date de fin)
- Des limites numériques qui ne devraient jamais être dépassées
Règles qui ne devraient s'appliquer que lors de la saisie des données
Ces règles sont bien adaptées à la validation continue et se comportent de la même manière dans les formulaires et dans le tableau interactif.
Si une règle est destinée à valider les données uniquement au moment de leur saisie, cela doit être explicité dans la formule.
Une approche courante consiste à n'appliquer la règle de validation que lorsque l'enregistrement est nouveau.
IF(ISBLANK(_lastEditTime), START_DATE < TODAY(), TRUE)
Avec cette règle :
- Les nouveaux enregistrements doivent satisfaire à l'exigence de date
- Les enregistrements existants restent valides au fil du temps
Cela empêche les données historiques de devenir non valides lorsqu'elles sont consultées dans le tableau interactif.
Champs obligatoires
Les champs obligatoires doivent contenir une valeur pour que l'enregistrement puisse être considéré comme valide.
Si un champ obligatoire est vide :
- L'enregistrement est marqué comme non valide dans le tableau interactif
- Le champ manquant est mis en surbrillance
- L'enregistrement ne peut pas être soumis tant que le champ n'est pas rempli
Il est important de noter que le statut obligatoire est évalué en combinaison avec les règles de pertinence. Un champ qui n'est pas pertinent (masqué en raison d'une condition de pertinence) n'est pas obligatoire. Cependant, si le champ devient pertinent et reste vide, l'enregistrement devient non valide.
Si des champs obligatoires sont ajoutés après que des enregistrements existent déjà dans le formulaire, ces enregistrements peuvent devenir non valides s'ils ne contiennent pas de valeurs qui satisfont aux nouvelles exigences.
Champs clés et uniques
Les champs marqués comme clé ou unique garantissent l'unicité au niveau du formulaire.
Un champ clé identifie un enregistrement. Deux enregistrements dans le même formulaire ne peuvent pas partager la même valeur de clé.
Un champ unique garantit que deux enregistrements ne peuvent pas avoir la même valeur dans ce champ.
Si une valeur en double est saisie :
- L'enregistrement est immédiatement marqué comme non valide
- Le conflit de duplication doit être résolu pour que l'enregistrement devienne valide
L'unicité est vérifiée sur tous les enregistrements du formulaire, et pas seulement sur la page actuelle du tableau interactif.
Ces contraintes sont couramment utilisées pour des identifiants tels que :
- Les numéros d'enregistrement
- Les identifiants de ménage
- Les numéros d'identification nationaux
- Les codes d'établissement
Comme l'unicité est appliquée au niveau de la base de données, elle affecte directement la validité globale de l'enregistrement.
Règles de pertinence
Les règles de pertinence déterminent si un champ est applicable dans un contexte donné.
Lorsqu'une condition de pertinence est évaluée à Faux :
- Le champ est masqué
- Le champ n'est pas obligatoire
- Sa valeur n'affecte pas la validité de l'enregistrement
Cependant, lorsque la condition de pertinence est évaluée à Vrai :
- Le champ devient visible
- S'il est marqué comme obligatoire, il doit être rempli
- Sa valeur est évaluée par rapport à d'autres contraintes
Par exemple :
- Un champ « Statut de grossesse » peut n'être pertinent que si Sexe = Femme
Si un champ devient pertinent et est obligatoire mais reste vide, l'enregistrement devient non valide.
Les règles de pertinence influencent donc indirectement la validité en contrôlant quelles contraintes s'appliquent à un moment donné.
Masques de saisie
Les masques de saisie appliquent des règles de mise en forme pour les champs de texte.
Un masque de saisie définit la structure requise d'une valeur, telle que :
- Les numéros de téléphone
- Les formats d'identification nationaux
- Les codes postaux
- Les codes ou identifiants structurés
Si une valeur ne correspond pas au format défini :
- Le champ est signalé
- L'enregistrement est marqué comme non valide
- La valeur doit être corrigée pour que l'enregistrement devienne valide
Les masques de saisie garantissent une mise en forme cohérente entre les enregistrements, ce qui améliore la qualité des données et l'analyse en aval.
Contrairement aux règles de validation, les masques de saisie se concentrent strictement sur le format plutôt que sur les relations logiques entre les champs.
Valeurs par défaut
Les valeurs par défaut remplissent automatiquement un champ lorsqu'un nouvel enregistrement est créé. Elles sont conçues pour améliorer l'efficacité en pré-remplissant des valeurs couramment utilisées, comme un statut, une période de rapport ou un zéro pour les champs numériques.
Les valeurs par défaut ne sont appliquées qu'une seule fois, au moment de la création de l'enregistrement. Elles ne sont pas réévaluées en continu après l'enregistrement de l'enregistrement.
Les valeurs par défaut peuvent utiliser des expressions telles que TODAY() ou NOW(). Lorsqu'elles sont utilisées, ces fonctions capturent la date ou l'heure actuelle au moment de la création de l'enregistrement. La valeur ne se met pas à jour par la suite.
Les valeurs par défaut ne déterminent pas directement la validité de l'enregistrement. Cependant, elles peuvent l'influencer indirectement. Par exemple :
- Une valeur par défaut peut aider à satisfaire un champ obligatoire
- Une valeur par défaut peut enfreindre une règle de validation
- Une valeur par défaut dans un champ Unique peut créer un doublon
La validité globale de l'enregistrement est toujours déterminée par toutes les contraintes applicables dans le formulaire.
Résumé
Dans ActivityInfo, un enregistrement n'est valide que lorsqu'il respecte toutes les contraintes définies dans le formulaire. L'indicateur de validité dans le tableau interactif reflète le statut global de l'enregistrement, et pas seulement le résultat des règles de validation.
La validité de l'enregistrement peut être affectée par les champs obligatoires, les contraintes de Clé et d'Unicité, les règles de pertinence, les masques de saisie, les règles de validation et les valeurs par défaut qui interagissent avec d'autres contraintes.
Les règles de validation ne sont qu'une partie de ce cadre plus large. Un enregistrement non valide ne signifie pas nécessairement qu'une règle de validation a échoué.
Le tableau interactif ne change pas le fonctionnement de la validité des enregistrements. Il rend simplement plus visibles les enregistrements qui enfreignent les contraintes, y compris les règles de validation.
Comprendre comment ces éléments fonctionnent ensemble aide les utilisateurs à diagnostiquer et à résoudre plus efficacement les enregistrements non valides.