Tutoriel pour débutant 5e Partie - Ajouter la complexité à votre formulaire

Tutoriel pour débutant 5e Partie Objectifs d’apprentissage
  • Comment faire en sorte que des questions soient obligatoires

  • Comment ajouter une condition d’affichage en utilisant l’Éditeur d’expression

  • Comment ajouter une condition de validation en utilisant l’Éditeur d’expression

Nous avons procédé en travaillant avec les Propriétés principales de chaque question, qui comprenaient l’Identifiant de Question et le Texte d’étiquette. Nous allons maintenant travailler avec la section Propriétés de la logique.

Cliquez sur la première question de l’Arbre à questions (c.-à-d. Nom du village). Ensuite ajoutez la section Logique en sélectionnant le menu déroulant en haut à droite de la section Propriétés des questions. Une fois que vous l’avez ajoutée, défilez vers le bas jusqu’à Propriétés de la Logique dans le cadre Propriétés des Question.

Il y a deux sections ici :

  • Condition d’affichage (« logique d’enchaînement»)- c’est ici que vous allez déterminer à quel moment une question est pertinente et doit être affichée. Par exemple, dans notre formulaire, la question : « combien de garçons sont en vie ? » ne doit pas s’afficher si la femme répond « non » à la question « La femme a-t-elle accouché d’enfants qui sont encore en vie ? ». Ne vous inquiétez pas, nous allons arranger cela !

  • Condition de validation- c’est ici que nous pouvons limiter les réponses acceptables pour une question. Par exemple, si nous posons une question sur l’âge, nous ne voudrions peut-être pas que l’utilisateur mobile inscrive accidentellement 200 au lieu de 20, donc nous pouvons placer une limite raisonnable concernant l’âge- disons que l’âge doit être entre 15 et 60 ans. Si un utilisateur mobile écrit alors une réponse en dehors de cette fourchette, il recevra un message d’erreur et ne pourra pas passer à la question suivante.


Questions obligatoires

Il est utile de rendre certaines questions obligatoires si vous êtes convaincu que tout le monde doit pouvoir y répondre. Cela empêche l’utilisateur mobile de sauter accidentellement des questions. Dans cet exemple, disons que les questions suivantes doivent être obligatoires :

  • nom_femme

  • nom_village

  • lmp

Allez à chacune des questions ci-dessus et cochez la case pour savoir : « Cette Question est-elle obligatoire ? »



Condition d’affichage

Nous voulons placer une condition d’affichage sur la question garçons_en_vie parce que cette question ne doit s’afficher que si la réponse à la  question « La femme a-t-elle donné naissance à des enfants qui sont encore en vie ? » est « oui ».

Où dois-je placer ma condition d’affichage?

 



You always put a display condition on the question that is affected by the answer to another question- NOT on the question that determines whether or not a subsequent question is shown. For that reason we call it a "display condition" and not a "skip condition." In this example, you put the display condition on living_boys because sometimes we want to see that question, and sometimes we don't.

 

  • Naviguez sur la question garçons_en_vie et cherchez « Condition d’affichage » sous « Propriétés de la logique »

  • Cliquez sur le bouton « modifier » à droite.

Cela ouvrira l’Éditeur d’expression – utilisez le pour aider à écrire les expressions qui détermineront vos conditions d’affichage. Cela peut sembler confus, mais pas de panique ! 

Réfléchissons à ce que nous voulons faire ici. Nous voulons afficher cette question (garçons_en_vie) si la réponse à enfants_en_vie est « oui »

En d’autres termes, la condition d’affichage est : enfants_en_vie = « oui » (Si enfants_en_vie = « 'non’ » nous souhaitons sauter cette question)

Vous pouvez utiliser cet outil pour aider à rédiger cette expression. Focalisez-vous sur la section Configurer l’Expression.

Cliquez sur la question « La femme a-t-elle donné naissance à des enfants qui sont encore en vie ? » de l’Arbre à questions et faites la glisser par-dessus la boîte à gauche.

Vous verrez une coche verte quand vous  placerez le curseur dessus :

Quand vous lâcherez le curseur, vous verrez que CommCare a créé une référence bleue dans la boîte. Vous pouvez passer votre souris sur la référence pour voir le texte intégral de la question :

À l’instant, il y a un indicateur d’erreur parce que l’expression est incomplète :

 

Nous devons préciser ce que nous voulons avoir comme réponse à enfants_en_vie !

Vous pouvez utiliser la même méthode qu’auparavant- saisir la réponse « oui » et la glisser dans la boîte à droite :

Vous verrez une coche verte parce votre expression est maintenant complète.

Cliquez sur « Enregistrer » pour sauvegarder vos modifications.

En retournant sur l’écran principal vous verrez que CommCare affiche maintenant l’expression complète !

Maintenant développez la même condition d’affichage pour la question filles_vivantes (living_girls en anglais)

 

Do I have to use the Expression Builder? Can't I just write the display condition directly?

Yes, you can just write the display condition directly in the Question Properties. However, we strongly recommend that you start by using the Expression Builder to get comfortable with the syntax used in CommCare forms. You can write fairly complex expressions using the Expression Builder, including long AND and OR statements. When you want to start composing expressions directly you can click on the "Show Advanced Mode" button in the Expression Editor. Using Advanced Mode will automatically check your statement for basic errors.

 


Conditions de validation

Excellent travail, maintenant nous sommes prêts pour une condition de validation

Notre objectif ici est de placer une condition de validation qui empêche l’utilisateur d’inscrire un nombre supérieur à 15 pour le nombre de garçons ou de filles.

Donc ce que nous voulons pour la question garçons_en_vie, c’est que la réponse soit inférieure ou égale à 15. Ou, en d’autres termes : garçons_en_vie <= 15

Nous pouvons de nouveau nous servir de l’éditeur d’expression !

Allez à la question garçons_en_vie et cliquez sur le bouton « modifier » à côté de Condition de validation

L’éditeur semble très familier !

 

Faites glisser la question garçons_en_vie (oui- c’est la même question sur laquelle vous travaillez) jusqu’à la gauche de l’expression.

Quand vous faites référence à la même question sur laquelle vous travaillez, CommCare met tout simplement de beaux petits « » dans la boîte, donc voici à quoi cela devrait ressembler :

À présent, pour continuer notre expression :

Modifiez le menu déroulant du milieu pour avoir « inférieur ou égal à » et ensuite inscrivez seulement « 15 » directement dans la deuxième boîte, pour avoir quelque chose qui ressemble à ceci :

Continuez et cliquez sur « enregistrer » pour voir l’expression sur la page principale :

Il est bon, chaque fois que vous créez une condition de validation, d’élaborer un message de validation qui explique ce qu’est la condition de validation. Ainsi, l’utilisateur mobile peut comprendre comment corriger l’erreur et comment il devrait pouvoir continuer.

Dans le type de boîte « Message de validation » : « Le nombre de garçons en vie doit être inférieur ou égal à 15 ! »

N’oubliez pas d’enregistrer vos modifications.

Ajoutez la même condition de validation pour la question filles_vivantes et ajoutez égaiement un Message de validation : « Le nombre de garçons en vie doit être inférieur ou égal à 15 ! »




Testez vos modifications

Maintenant que nous avons ajouté un peu de complexité au formulaire, testons ces modifications ! Ouvrez App Preview et sélectionnez le bouton actualiser pour avoir les dernières modifications à votre application !

 

Une fois que vous êtes satisfait, vous pouvez procéder à la section suivante, et tester votre formulaire sur un téléphone !

Allez à la  section suivante, 6e Partie.