Contrainte

La colonne constraint est utilisée pour valider la saisie utilisateur. Elle empêche l'utilisateur de continuer tant que la réponse ne satisfait pas une condition que vous définissez.

Si la réponse ne satisfait pas la contrainte, un message défini dans constraint_message est affiché à l'utilisateur.

📝 Comment fonctionnent les contraintes

La valeur de la question est représentée par un point (.), ce qui signifie « la réponse courante ». Vous construisez une expression logique en utilisant cette valeur.

Les contraintes sont couramment utilisées pour :

  • Définir des plages numériques (par ex., l'âge doit être entre 0 et 120)

  • Exiger des formats correspondants (par ex., codes postaux, emails)

  • Appliquer des dépendances (par ex., date de fin après date de début)

type
nom
label
constraint
constraint_message

integer

age

Votre âge

. >= 18 and . <= 99

L'âge doit être compris entre 18 et 99

text

zip

Code postal

regex(., '^\d{5}$')

Saisissez un code postal à 5 chiffres

text

e-mail

Adresse email

regex(., '^[^@]+@[^@]+.[^@]+$')

Saisissez un email valide

date

end

Date de fin

. >= ${start}

La date de fin doit être après la date de début

☑️ Utilisation du point (.) dans constraint

Le point . représente la valeur saisie par l'utilisateur pour la question courante. Utilisez-le dans les fonctions et les expressions :

  • . >= 0 — valide si la valeur est 0 ou plus

  • regex(., '^\d{5}$') — valide si elle correspond au motif

🔠 Références de variables

Vous pouvez utiliser ${question_name} pour référencer les réponses d'autres questions du formulaire. Assurez-vous que les questions référencées apparaissent plus tôt dans le formulaire.

Exemple :

  • . > ${min_age} — garantit que la saisie courante est supérieure à une valeur saisie précédemment

🔢 Opérateurs et fonctions pour les contraintes

Comme pour la pertinence, vous pouvez utiliser :

=, !=, >, <, >=, <= and, or, not()

Fonction
Description
Exemple

regex()

Valide le format d'une saisie texte

regex(., '^\d{5}$') pour les codes postaux US

string-length()

Vérifie le nombre de caractères

string-length(.) <= 50

selected()

Vérifie si un choix a été sélectionné

selected(${choices}, 'option1')

today()

Récupère la date actuelle

. <= today()

now()

Récupère la date et l'heure actuelles

. <= now()

Mis à jour

Ce contenu vous a-t-il été utile ?