L’un des moyens d’assurer la qualité des données est d’ajouter des contraintes aux champs de données de votre formulaire. Les contraintes aident à éviter que les utilisateurs ne saisissent des réponses invalides ou impossibles. Par exemple, lors de la demande du revenu d’une personne, vous souhaitez éviter des valeurs irréalistes, comme des nombres négatifs ou des valeurs extrêmement élevées. L’ajout de contraintes de données dans votre formulaire est simple. Suivez les étapes ci-dessous :

  1. Ajoutez une nouvelle colonne appelée “constraint” à votre formulaire.
  2. Dans la colonne “constraint”, saisissez une formule qui spécifie les limites de la réponse.

Exemple

Considérons un exemple où nous souhaitons ajouter une contrainte sur le revenu d’une personne. La contrainte exige que le revenu soit compris entre 0 $ et 1 000 000 $. Voici comment configurer la contrainte :

nameconstraint
Income. >= 0 & . <= 1000000

Dans l’exemple ci-dessus, le “.” dans la formule fait référence à la variable de la question, qui représente la valeur saisie par l’utilisateur pour la question “Income”. La contrainte “. >= 0 && . <= 1000000” garantit que le revenu saisi est supérieur ou égal à 0 et inférieur ou égal à 1 000 000.

Contrainte stricte

Une contrainte stricte bloque entièrement la soumission du formulaire si la valeur saisie ne satisfait pas l’expression. L’enquêteur ne peut pas avancer jusqu’à ce qu’il saisisse une valeur valide.

Pour ajouter une contrainte stricte, saisissez votre expression dans la colonne constraint. Ajoutez optionnellement un message lisible dans constraint_message :

typenamelabelconstraintconstraint_message
integerageÂge du répondant. > 0 and . <= 120L’âge doit être compris entre 1 et 120
decimaltemperatureTempérature corporelle (°C). >= 35 and . <= 42La température doit être entre 35°C et 42°C
textphoneNuméro de téléphoneregex(., '^[0-9]{10}$')Saisir un numéro de téléphone à 10 chiffres

Conditions multiples

Combinez les conditions avec and / or :

  . >= 0 and . <= 100
  
  . = 'yes' or . = 'no'
  

Utiliser regex() pour la validation par motif

La fonction regex(value, pattern) teste une valeur par rapport à une expression régulière :

typenamelabelconstraintconstraint_message
textemailAdresse e-mailregex(., '^[^@]+@[^@]+\.[^@]+$')Saisir une adresse e-mail valide
textzip_codeCode postalregex(., '^[0-9]{5}$')Saisir un code postal à 5 chiffres

Référencer d’autres champs dans une contrainte

Utilisez ${fieldname} pour référencer des valeurs d’autres questions :

typenamelabelconstraintconstraint_message
integerend_yearAnnée de fin. >= ${start_year}L’année de fin doit être postérieure à l’année de début
decimalloan_repaidMontant remboursé. <= ${loan_amount}Impossible de rembourser plus que le montant du prêt

Alerte souple

Une alerte souple (également appelée contrainte souple ou avertissement) avertit l’enquêteur qu’une valeur semble inhabituelle, mais lui permet quand même de continuer. C’est utile lorsqu’une valeur est techniquement valide mais statistiquement improbable.

rtSurvey prend en charge les alertes souples via la colonne constraint avec une approche spéciale constraint_type, ou via l’apparence soft combinée avec un champ note.

Le schéma le plus courant consiste à utiliser une note avec une expression relevant qui signale la valeur suspecte, associée à une question acknowledge pour confirmer :

typenamelabelrelevant
integerchildrenNombre d’enfants
notechildren_warningAvertissement : Vous avez saisi ${children} enfants. Veuillez confirmer que c’est correct.. > 15
triggerchildren_confirmConfirmer que le nombre d’enfants est correct${children} > 15

Alerte souple avec uniquement constraint_message

Pour un avertissement souple plus simple, vous pouvez formuler la contrainte pour avertir sur les valeurs extrêmes tout en autorisant une large plage :

typenamelabelconstraintconstraint_message
integerchildrenNombre d’enfants. >= 0 and . <= 30Cette valeur semble très élevée. Veuillez vérifier.
Cette page vous a-t-elle été utile ?