In KoboCollect, you can achieve this by using validation constraints and a combination of question logic. Here's how to set it up:
-
Create a Multiple-Select Question
Define your multiple-select question with the options:- Pragas
- Doenças
- Escassez_chuvas
- Acesso_chuvas
- Outro
- Nenhum
-
Add a Constraint for the "Nenhum" Option
Use a validation constraint to ensure that if "Nenhum" is selected, no other options can be selected, and vice versa.Constraint Expression:
not(selected(., 'Nenhum') and (count-selected(.) > 1))
Constraint Message:
Add a custom error message like:
"If 'Nenhum' is selected, no other option can be selected." -
Add a Notification for Conflicting Choices
You can use a note question that appears conditionally if both "Nenhum" and any other option are selected. Add this note as a warning.Relevant Expression for Note:
selected(., 'Nenhum') and (count-selected(.) > 1)
Note Content:
"You cannot select 'Nenhum' along with other options. Please revise your selection." -
Conditional Logic for "Outro" Field
If "Outro" is selected, you may want to display a text field for the user to specify the "Other" reason. Use the relevant field to conditionally show the text field.Relevant Expression for the text field:
selected(., 'Outro')
Final Steps
- Test the form thoroughly to ensure the logic works as expected.
- Upload the XLSForm to KoboToolbox or edit directly in the form builder.
Dans KoboCollect, vous pouvez configurer cette logique en utilisant des contraintes de validation et une combinaison de logique conditionnelle. Voici les étapes en français :
1. Créer une question à choix multiple
Ajoutez une question à choix multiple avec les options suivantes :
- Pragas
- Doenças
- Escassez_chuvas
- Acesso_chuvas
- Outro
- Nenhum
2. Ajouter une contrainte pour l'option "Nenhum"
Utilisez une contrainte de validation pour garantir que si "Nenhum" est sélectionné, aucune autre option ne peut être choisie, et inversement.
Expression de la contrainte :
not(selected(., 'Nenhum') and (count-selected(.) > 1))
Message de contrainte :
Ajoutez un message d'erreur personnalisé, par exemple :
"Si 'Nenhum' est sélectionné, aucune autre option ne peut être choisie."
3. Ajouter une notification pour les choix contradictoires
Ajoutez une question de type note qui s'affichera uniquement si "Nenhum" et une autre option sont sélectionnés en même temps.
Expression de pertinence pour la note :
selected(., 'Nenhum') and (count-selected(.) > 1)
Contenu de la note :
"Vous ne pouvez pas sélectionner 'Nenhum' avec d'autres options. Veuillez modifier votre choix."
4. Afficher un champ texte si "Outro" est sélectionné
Si l'utilisateur sélectionne "Outro", vous pouvez afficher un champ texte pour qu'il précise la raison. Utilisez le champ pertinence pour afficher ce champ conditionnellement.
Expression de pertinence pour le champ texte :
selected(., 'Outro')
Étapes finales
- Testez le formulaire pour vérifier que la logique fonctionne comme prévu.
- Téléchargez le fichier XLSForm sur KoboToolbox ou modifiez directement le formulaire dans l'interface.