Actions

Check survey logic - Advanced/nl: Difference between revisions

From LimeSurvey Manual

(Created page with "==Trapsgewijze logica==")
No edit summary
(31 intermediate revisions by the same user not shown)
Line 35: Line 35:




*'''Relevance <nowiki>[</nowiki>Validation] (Default)''' - shows the following:
*'''Relevantie<nowiki> [</nowiki> Validatie] (Standaard) '' '- toont het volgende:
**''Relevance'' - the syntax-highlighted [[ExpressionScript - Presentation|relevance equation]] for the question or group. If it is always true (to be shown in any scenario), the value will be '''1'''.
**''Relevantie''- de in de syntaxis gemarkeerde [[ExpressionScript - Presentation/nl|relevantievergelijking]] voor de vraag of groep. Als het altijd waar is (om te worden weergegeven in elk scenario), is de waarde '''1'''.
**''Validation'' - ExpressionScript automatically generates the [[ExpressionScript_Engine_-_Quick_start_guide#Validation|validation equation]] based upon the selected question attributes (e.g., min/max number of answers, min/max/equals sum values, min/max individual values or regular expression validation). This section shows the generated validation equation so that you can detect if there are any errors (such as undefined variables).
** ''Validatie'' - ExpressionScript genereert automatisch de [[ExpressionScript_Engine_-_Quick_start_guide/nl#Validatie| validatie vergelijking]] gebaseerd op de geselecteerde vraagattributen (bijv. min / max aantal antwoorden, min / max / is gelijk aan somwaarden, min / max individuele waarden of validatie van reguliere expressies). Deze sectie toont de gegenereerde validatievergelijking zodat u kunt detecteren of er fouten zijn (zoals ongedefinieerde variabelen).
***Question-level validation shows the equation needed to verify the above-described question attributes
*** Validatie op vraagniveau toont de vergelijking die nodig is om de hierboven beschreven vraagattributen te verifiëren
***Subquestion-level validation shows the equation needed to implement [[QS:Array_filter|array_filter]], [[QS:Array_filter_exclude|array_filter_exclude]], and [[QS:Exclusive_option|exclusive_option]]
*** Validatie op subvraagniveau toont de vergelijking die nodig is om [[QS: Array_filter/nl|array_filter]], [[QS: Array_filter_exclude/nl| array_filter_exclude]] en [[QS:Exclusive_option/nl|exclusieve_optie]] te implementeren
**''Default'' - if the question has a default value, it is shown here, syntax-highlighted (since the default could be an expression).
** ''Standaard'' - als de vraag een standaardwaarde heeft, wordt deze hier weergegeven, syntaxis gemarkeerd (aangezien de standaard een uitdrukking kan zijn).


*'''Text <nowiki>[</nowiki>Help] (Tip)''' - shows the following:
*'''Tekst<nowiki> [</nowiki> Help] (Tip) ''' - toont het volgende:
**''Text'' - the text of the group, question, subquestion, or answer. It is syntax-highlighted to show any embedded [[ExpressionScript - Presentation#Tailoring.2FPiping|tailoring]], thus letting you verify that you have declared all the variables you plan to use in the tailoring.
**''Tekst'' - de tekst van de groep, vraag, subvraag of antwoord. Het is syntaxis gemarkeerd om eventuele ingesloten [[ExpressionScript - Presentation/nl#Maatwerk|maatwerk]] weer te geven, zodat u kunt verifiëren dat u alle variabelen heeft gedeclareerd die u bij het aanpassen wilt gebruiken.
**''Help'' - this shows the help text for the question, also syntax-highlighted.
** ''Help'' - dit toont de helptekst voor de vraag, ook syntaxis gemarkeerd.
**''Tip'' - this shows the internally generated validation tip, based upon the question attributes. This same tip is used in all survey styles, plus in the printable survey and data entry screens.
** ''Tip'' - dit toont de intern gegenereerde validatie-tip, gebaseerd op de vraagattributen. Dezelfde tip wordt gebruikt in alle enquêtestijlen, plus in de afdrukbare enquête- en gegevensinvoerschermen.
**''Question Attributes'' - this shows a table of all relevant question attributes for this question. Attributes that might be equations are syntax-highlighted so that you can validate their accuracy.
** ''Vraagattributen'' - dit toont een tabel met alle relevante vraagattributen voor deze vraag. Attributen die mogelijk vergelijkingen zijn, worden in de syntaxis gemarkeerd, zodat u hun nauwkeurigheid kunt valideren.


Het gebruik van kleuren:
Het gebruik van kleuren:
Line 67: Line 67:
Elke vraag met een fout wordt met rood gemarkeerd (en de achtergrondkleur van de linkerkolom ("#")).  Ook staat er een waarschuwing met het aantal fouten in de vraag onder de kolom '''Naam [ID]'''. De meest voorkomende fouten zijn:
Elke vraag met een fout wordt met rood gemarkeerd (en de achtergrondkleur van de linkerkolom ("#")).  Ook staat er een waarschuwing met het aantal fouten in de vraag onder de kolom '''Naam [ID]'''. De meest voorkomende fouten zijn:


*[[Check survey logic - Advanced#Undefined variable|Undefined variable]] - if you have not defined all of your variables, or mistyped array_filter (or different sets of answer options for array_filter), then some of your validation questions will show errors. Undefined variables are shown in red text, boxed with a red line.
*[[Check survey logic - Advanced/nl#Niet gedefinieerde variabele|Onbekende variabele]] : als een variabele niet gedefinieerd is, of je hebt een tikfout in de naam van een array_filter (of in de verschillende antwoordopties voor array_filter), dan worden er fouten getoond bij je validatie van de vragen. De onbekende variabele is rood in een rood omlijnd vak.


*[[Check survey logic - Advanced#Bad syntax|Bad syntax]] - as you start to use relevance equations, you may use too many or too few parentheses. Such syntax problems are highlighted and boxed in red. If you hover the mouse over any such red-boxed text, a tool-tip will describe the error.
*[[Check survey logic - Advanced/nl#Syntaxfout|Syntaxfout]] : als je begint met relevantie vergelijkingen, gebruik je snel teveel of te weinig haakjes. Dergelijke fouten worden ook in rood en rood omlijnd getoond. Als je hier met de muis overheen gaat, dan krijg je een beschrijving van de fout.




Line 103: Line 103:




The JavaScript errors will also be highlighted in the survey logic check:
De JavaScript-fouten worden ook gemarkeerd bij de controle van de enquête:




<center>[[Bestand: javascript_error.jpg]]</center>
<center>[[File:javascript_error.jpg]]</center>




Line 112: Line 112:




All of the syntax-highlighted text has tooltips embedded, which are clickable:
Alle in de syntax gemarkeerde tekst heeft tooltips ingesloten, waarop kan worden geklikt:
#Tooltips
#Tooltips
#*Functions - hovering the mouse lets you see the purpose and syntax definition of the function;
# * Functies - door met de muis te bewegen kunt u het doel en de syntaxisdefinitie van de functie zien
#*Variable Names - hovering the mouse lets you see the position (group, question sequence), question text, and allowable answers for the question.
# * Variabelenamen - Door met de muis te bewegen, ziet u de positie (groep, vragenreeks), vraagtekst en toegestane antwoorden op de vraag.
#Actions
#Acties
#*Variable Names - clicking on the variable name opens a new window that allows you to edit the question. This makes it easy to navigate and verify logic - simply keep clicking on variable names of relevance or validation criteria for the question to see where they come from and how they are used.
# * Variabelenamen - door op de variabelenaam te klikken, wordt een nieuw venster geopend waarin u om de vraag te bewerken. Dit maakt het gemakkelijk om te navigeren en logica te verifiëren - blijf gewoon klikken op variabelenamen die relevant zijn of validatiecriteria voor de vraag om te zien waar ze vandaan komen en hoe ze worden gebruikt.




Line 151: Line 151:




Here are [[ExpressionScript sample surveys#Cascading Array Filters|screenshots]] of this example.
Hier staan [[ExpressionScript sample surveys/nl#Cascading arrayfilters|schermafdrukken]] van dit voorbeeld.


It shows the subquestion validation logic that is automatically generated when you use [[QS:Array_filter|array_filter]] and [[QS:Array_filter_exclude|array_filter_exclude]]. This example also shows how you can substitute the tailored "Other" value (the answer for Q02_other is Q01_other).
Dit voorbeeld toont de validatie logica op subvraagniveau die automatisch aangemaakt wordt wanneer je array_filter en  [[QS:Array_filter_exclude/nl|array_filter_exclude]] gebruikt.  Je ziet ook hoe je de "Other" waarde (het antwoord voor Q02_other is Q01_other) kunt vervangen.




<center>[[File:cascading_logic1.jpg]]</center>
<center>[[File:validation-logic.jpg]]</center>




Q05 in this example shows simultaneous use of array_filter and array_filter_exclude on Q01 and Q02, respectively. This example demonstrates cascading array_filter capabilities. Note that one of the main reasons for showing the question and subquestion level '''validation''' criteria is to help ensure you have not made any typos in specifying the array_filter or array_filter_exclude variable names (or in case you use different variable names for your list of filtered subquestions). If you have such typos, all the invalid variable names will appear in red indicating that they are undefined, letting you quickly fix the problem.
Q05 in dit voorbeeld toont het gelijktijdig gebruik van array_filter en array_filter_exclude op respectievelijk Q01 en Q02. Dit voorbeeld toont de trapsgewijze mogelijkheden van array_filter. Merk op dat een van de belangrijkste redenen voor het weergeven van de criteria voor vraag en subvraagniveau '''validatie''' is om ervoor te zorgen dat u geen typefouten hebt gemaakt bij het specificeren van de variabelenamen array_filter of array_filter_exclude (of in het geval dat u verschillende variabelenamen gebruikt voor uw lijst met gefilterde subvragen). Als u dergelijke typefouten heeft, worden alle ongeldige variabelenamen in rood weergegeven om aan te geven dat ze niet gedefinieerd zijn, zodat u het probleem snel kunt oplossen.




Line 165: Line 165:




==Dynamic relevance==
==Dynamische relevantie==




This example demonstrates dynamic cascading relevance logic to control display of question visibility. You can download this example [[ExpressionScript sample surveys#Download|here]].
Dit voorbeeld toont dynamische trapsgewijze relevantie logica om de zichtbaarheid van de vraag te regelen. Je kunt dit voorbeeld [[ExpressionScript sample surveys/nl#Download|downloaden]].


Also note that questions are displayed only if certain validation criteria are met. For example, if a person states that she has 2 kids, certain questions have to be filled in by the respondent (kid1 and kid2).
Houd er ook rekening mee dat vragen alleen worden weergegeven als aan bepaalde validatiecriteria is voldaan. Als een persoon bijvoorbeeld aangeeft 2 kinderen te hebben, moeten bepaalde vragen worden ingevuld door de respondent (kid1 en kid2).




<center>[[File:dynamic_relevance_logic1.jpg]]</center>
<center>[[File:dynamic_relevance_logic1.jpg]]</center>


==Group-level relevance==
==Relevantie op groepsniveau==




This example shows how group-level relevance appears in the logic check. Here are [[ExpressionScript sample surveys#Sample Census|screenshots]] of the example described below.
In dit voorbeeld wordt relevantie op groepsniveau in het logica-bestand getoond. Hier staan [[ExpressionScript sample surveys/nl#Voorbeeld telling|schermafdrukken]] van de demo.


As you can see, the group-level relevance equation (cohabs > 1 && p1_rel != "") appear in the grey Person 2 row for G-2.
Zoals je kunt zien, komt de relevantie vergelijking op groepsniveau (cohabs > 1 && p1_rel != "") voor in de grijze rij Person 2 voor G-2.


You may also notice that all of the questions are mandatory. However, if the group is irrelevant, so are all its questions. As a result, those questions are only truly mandatory if the group is relevant.
Je ziet ook dat alle vragen verplicht (mandatory) zijn. Als de groep niet relevant is, dan zijn alle vragen in de groep niet relevant, dus de vragen zijn alleen echt  verplicht als de groep relevant is.


You may also note that certain questions are displayed only if the answer to the previous question is not empty. You may see below that if p2_sex is not filled in, p2_name is not going to be displayed, even though it is a mandatory questions. The mandatory question p2_age is also not going to be displayed if p2_name is not filled in. These questions can be considered "conditionally mandatory".  
Je ziet ook dat bepaalde vragen alleen worden weergegeven als het antwoord op de vorige vraag niet leeg is. Je ziet hieronder dat als p2_sex niet ingevuld is, p2_name niet wordt weergegeven, ook al zijn het verplichte vragen. De verplichte vraag p2_age wordt ook niet weergegeven als p2_name niet ingevuld is. Deze vragen kunnen als "voorwaardelijk verplicht" worden beschouwd.  


Additionally, note that the '''tip''' messages are also automatically created for you. They are organized by value range (min/max), sum value range (min/max/equals), number of answers (min/max), etc (it depends on the used question type and active attributes). Sometimes you want to validate an answer range but don't want to display what might appear to be silly validation tips to the user. In such cases, you can use the [[QS:Hide_tip|hide_tip]] question option (as in this case, to avoid telling the user that the age must be between 0 and 115 unless they try to enter a bad value - see p2_age).
Ook alle tip/hint teksten worden automatisch voor je aangemaakt. Ze zijn ingedeeld in waardebereik (min/max), opgetelde waardebereik (min/max/equals), aantal antwoorden (min/max), enz. Soms wil je een antwoordbereik valideren maar geen rare validatie aanwijzing als tip/hint tonen aan de gebruiker. Je kunt dan de speciale vraagoptie  [[QS:Hide_tip/nl|hide_tip]] gebruiken (in dit geval kun je voorkomen dat de gebruiker de tip/hint krijgt de leeftijd tussen de 0 en 115 moet liggen, behalve als ze een verkeerde waarde invullen).




<center>[[File:person2_logic.jpg]]</center>
<center>[[File:person2_logic.jpg]]</center>


==Comma as radix (decimal) separator==
==Komma als radix (decimaal) scheidingsteken==




Although LimeSurvey fully supports the use of comma as radix (decimal) separator at run-time, you must still use a decimal as the radix separator at the design-time (e.g., when specifying min/max values in advanced question attributes). The working example can be [[ExpressionScript sample surveys#Using Comma as Radix Separator (Decimal Point)|found here]].
Deze demo toont dat, ondanks dat vanaf versie 1.92 het gebruik van komma als decimaal scheidingsteken bij het uitvoeren wordt ondersteunt, je toch nog een decimaal als scheidingsteken moet gebruiken bij het ontwerpen (bijvoorbeeld bij het specificeren van min/max waarden bij de speciale vraagattributen). Een werkend voorbeeld staat [[ExpressionScript sample surveys/nl#Gebruik van een komma in getallen (Decimale punt)|hier]].


Also, remember that the '''validation''' logic is created for you automatically from the enabled question attributes. The equations may look overwhelming, but you don't need to worry about them.
We herhalen nogmaals dat de VALIDATIE logica automatisch wordt aangemaakt op grond van de ingeschakelde speciale vraagattributen. De vergelijkingen zijn vermoedelijk onnavolgbaar, maar je hoeft je er niet druk over te maken.




<center>[[File:radix_logic1.jpg]]</center>
<center>[[File:radix_logic1.jpg]]</center>

Revision as of 17:01, 22 January 2021


Algemeen

Een belangrijke optie die je helpt bij het maken en onderhouden van een complexe enquête is Enquête logica-bestand.

Tijdens het maken en het testen van de enquête is het belangrijk om de logica van de enquête te valideren voordat je de enquête activeert. Dit geldt met name als er complexe relevantie, maatwerk en validatie-vergelijkingen gebruikt worden, anders kan de enquête mogelijk niet goed ingevuld worden.

Met deze functie kun je snel controleren of de enquête, groep of vraag goed is ingevoerd. Selecteer eerst een enquête, kies daarna de functie in de instellingen van de enquête op het menu Hulpmiddelen;



Hierboven zie je dat de optie voor elke taal die in een enquête wordt gebruikt, kan worden uitgevoerd.

Beschrijving

Deze functie toont alles wat gespecificeerd is voor elke vraag (bijvoorbeeld: naam, tekst, help, condities/relevantie, validatie-regels, standaarden, subvragen, antwoorden) in een tabelvorm.  Fouten worden aangegeven en je kunt elke vraag en groep aanklikken (de ID's of de variabelen in vergelijkingen) om in een nieuw venster die vraag / groep te wijzigen. Je kunt daarna snel opnieuw de controle uitvoeren, voordat je enquête activeert.

Het overzicht is ook zo ontworpen dat onderzoekers het kunnen lezen en de nauwkeurigheid kunnen valideren van het ontwerp en de logica van de enquête. De functie ververst de cache voor alle gebruikte expressies van de geselecteerde enquête.

De kolommen zijn:

  • # - toont een teller van de volgorde van groepen en vragen, beginnend bij 0.
  • Naam [ID]- toont de vraagcode voor de groep / vraag / subvraag. Deze codes kunnen worden gebruikt als variabelen binnen expressies. ID is de vraag-id (QID) of het groeps-id (GID). Dit veld toont ook het vraagtype (bijv. Meerkeuzevraag [M])).


Lees meer over welke variabelen in expressies kunnen worden gebruikt,


  • 'Relevantie [ Validatie] (Standaard) '- toont het volgende:
    • Relevantie- de in de syntaxis gemarkeerde relevantievergelijking voor de vraag of groep. Als het altijd waar is (om te worden weergegeven in elk scenario), is de waarde 1.
    • Validatie - ExpressionScript genereert automatisch de validatie vergelijking gebaseerd op de geselecteerde vraagattributen (bijv. min / max aantal antwoorden, min / max / is gelijk aan somwaarden, min / max individuele waarden of validatie van reguliere expressies). Deze sectie toont de gegenereerde validatievergelijking zodat u kunt detecteren of er fouten zijn (zoals ongedefinieerde variabelen).
      • Validatie op vraagniveau toont de vergelijking die nodig is om de hierboven beschreven vraagattributen te verifiëren
      • Validatie op subvraagniveau toont de vergelijking die nodig is om array_filter, array_filter_exclude en exclusieve_optie te implementeren
    • Standaard - als de vraag een standaardwaarde heeft, wordt deze hier weergegeven, syntaxis gemarkeerd (aangezien de standaard een uitdrukking kan zijn).
  • Tekst [ Help] (Tip) - toont het volgende:
    • Tekst - de tekst van de groep, vraag, subvraag of antwoord. Het is syntaxis gemarkeerd om eventuele ingesloten maatwerk weer te geven, zodat u kunt verifiëren dat u alle variabelen heeft gedeclareerd die u bij het aanpassen wilt gebruiken.
    • Help - dit toont de helptekst voor de vraag, ook syntaxis gemarkeerd.
    • Tip - dit toont de intern gegenereerde validatie-tip, gebaseerd op de vraagattributen. Dezelfde tip wordt gebruikt in alle enquêtestijlen, plus in de afdrukbare enquête- en gegevensinvoerschermen.
    • Vraagattributen - dit toont een tabel met alle relevante vraagattributen voor deze vraag. Attributen die mogelijk vergelijkingen zijn, worden in de syntaxis gemarkeerd, zodat u hun nauwkeurigheid kunt valideren.

Het gebruik van kleuren:

  • Groep - een lichtgrijze achtergrond
  • Vraag - een lichtgroene achtergrond
  • Subvraag - een lichtgele achtergrond
  • Antwoord - een witte achtergrond

Bij antwoorden is er een extra attribuut in de kolom Relevantie:

  • Value - de standaard waarde die intern gebruikt wordt bij berekeningen.  Als je beoordelingen gebruikt, is het de beoordelingswaarde.  Anders is het de antwoordnaam.


De beschrijving van de enquête, de welkomst- en eindtekst, de eind-URL, de gegevensbescherming en label staan in het logicabestand van de enquête (boven de tabel) als de bijbehorende velden niet leeg zijn!

Gebruik

Bovenaan het overzicht staat een samenvatting van het resultaat van de controle. Als er geen problemen zijn, staat er "Geen fouten gevonden in de enquête", of "Deze groep bevat geen fouten" of "Deze vraag bevat geen fouten".  Als er wel fouten zijn: "X vragen bevatten fouten die verbeterd moeten worden" (of "X vraag bevat fouten die verbeterd moeten worden").

Elke vraag met een fout wordt met rood gemarkeerd (en de achtergrondkleur van de linkerkolom ("#")).  Ook staat er een waarschuwing met het aantal fouten in de vraag onder de kolom Naam [ID]. De meest voorkomende fouten zijn:

  • Onbekende variabele : als een variabele niet gedefinieerd is, of je hebt een tikfout in de naam van een array_filter (of in de verschillende antwoordopties voor array_filter), dan worden er fouten getoond bij je validatie van de vragen. De onbekende variabele is rood in een rood omlijnd vak.
  • Syntaxfout : als je begint met relevantie vergelijkingen, gebruik je snel teveel of te weinig haakjes. Dergelijke fouten worden ook in rood en rood omlijnd getoond. Als je hier met de muis overheen gaat, dan krijg je een beschrijving van de fout.


Niet gedefinieerde variabele

De naam van de niet gedefinieerde variabele is in het rood in een rood omlijnd vak.  Als je er met de muis overheen gaat, krijg je de melding "Onbekende variabele":



  Attentie : Let op: LimeSurvey staat niet toe dat een vraagcode in een enquête niet uniek is. Het kan echter voorkomen dat er vergelijkbare vraagcodes in een enquête zijn als je een vraaggroep of een vraag importeert die dezelfde vraagcode gebruikt als een van de al bestaande vragen. De vraag kan nog steeds worden geïmporteerd omdat de vraag-ID's anders zijn. Als je echter de resultaten van de enquête wilt exporteren om de enquêteresultaten (R of SPSS) verder te onderzoeken, wees dan voorzichtig, want de vraagcode wordt als een variabele gezien!



}}

Syntaxfout

De meeste van de fouten in expressies hebben te maken met slechte syntaxis. Dit hangt samen met het feit dat enquêtebeheerders meestal vergeten om een ​​accolade toe te voegen, om op de juiste manier gebruik te maken van haakjes, of ze gebruiken expressies verkeerd:



Voorbeelden van het met kleur markeren, oftewel syntax markering.


Fouten in eigen JavaScript

De JavaScript-fouten worden ook gemarkeerd bij de controle van de enquête:



Snel wijzigen en valideren

Alle in de syntax gemarkeerde tekst heeft tooltips ingesloten, waarop kan worden geklikt:

  1. Tooltips
  2. * Functies - door met de muis te bewegen kunt u het doel en de syntaxisdefinitie van de functie zien
  3. * Variabelenamen - Door met de muis te bewegen, ziet u de positie (groep, vragenreeks), vraagtekst en toegestane antwoorden op de vraag.
  4. Acties
  5. * Variabelenamen - door op de variabelenaam te klikken, wordt een nieuw venster geopend waarin u om de vraag te bewerken. Dit maakt het gemakkelijk om te navigeren en logica te verifiëren - blijf gewoon klikken op variabelenamen die relevant zijn of validatiecriteria voor de vraag om te zien waar ze vandaan komen en hoe ze worden gebruikt.


Voorbeelden

De volgende voorbeelden komen uit de ExpressieScript voorbeeld enquêtes.  Er staan schermafdrukken van enquêtes die uitgevoerd worden, uitleg en mogelijke downloads.


BMI

Voorbeeld: schermafdrukken van de BMI, de lichaamsgewicht index.

Dit is een weergave van de berekening van de BMI waarin de vraagvolgorde aangepast kan worden. Je ziet de relevantie vergelijkingen voor weight, height en BMI in de kolom Vragen:



Raadpleeg het logica-bestand voor aanvullende informatie:



Een goed voorbeeld met een geneste if() om de "weightstatus" te bepalen.


Trapsgewijze logica

Hier staan schermafdrukken van dit voorbeeld.

Dit voorbeeld toont de validatie logica op subvraagniveau die automatisch aangemaakt wordt wanneer je array_filter en array_filter_exclude gebruikt.  Je ziet ook hoe je de "Other" waarde (het antwoord voor Q02_other is Q01_other) kunt vervangen.



Q05 in dit voorbeeld toont het gelijktijdig gebruik van array_filter en array_filter_exclude op respectievelijk Q01 en Q02. Dit voorbeeld toont de trapsgewijze mogelijkheden van array_filter. Merk op dat een van de belangrijkste redenen voor het weergeven van de criteria voor vraag en subvraagniveau validatie is om ervoor te zorgen dat u geen typefouten hebt gemaakt bij het specificeren van de variabelenamen array_filter of array_filter_exclude (of in het geval dat u verschillende variabelenamen gebruikt voor uw lijst met gefilterde subvragen). Als u dergelijke typefouten heeft, worden alle ongeldige variabelenamen in rood weergegeven om aan te geven dat ze niet gedefinieerd zijn, zodat u het probleem snel kunt oplossen.



Dynamische relevantie

Dit voorbeeld toont dynamische trapsgewijze relevantie logica om de zichtbaarheid van de vraag te regelen. Je kunt dit voorbeeld downloaden.

Houd er ook rekening mee dat vragen alleen worden weergegeven als aan bepaalde validatiecriteria is voldaan. Als een persoon bijvoorbeeld aangeeft 2 kinderen te hebben, moeten bepaalde vragen worden ingevuld door de respondent (kid1 en kid2).


Relevantie op groepsniveau

In dit voorbeeld wordt relevantie op groepsniveau in het logica-bestand getoond. Hier staan schermafdrukken van de demo.

Zoals je kunt zien, komt de relevantie vergelijking op groepsniveau (cohabs > 1 && p1_rel != "") voor in de grijze rij Person 2 voor G-2.

Je ziet ook dat alle vragen verplicht (mandatory) zijn. Als de groep niet relevant is, dan zijn alle vragen in de groep niet relevant, dus de vragen zijn alleen echt verplicht als de groep relevant is.

Je ziet ook dat bepaalde vragen alleen worden weergegeven als het antwoord op de vorige vraag niet leeg is. Je ziet hieronder dat als p2_sex niet ingevuld is, p2_name niet wordt weergegeven, ook al zijn het verplichte vragen. De verplichte vraag p2_age wordt ook niet weergegeven als p2_name niet ingevuld is. Deze vragen kunnen als "voorwaardelijk verplicht" worden beschouwd.

Ook alle tip/hint teksten worden automatisch voor je aangemaakt. Ze zijn ingedeeld in waardebereik (min/max), opgetelde waardebereik (min/max/equals), aantal antwoorden (min/max), enz. Soms wil je een antwoordbereik valideren maar geen rare validatie aanwijzing als tip/hint tonen aan de gebruiker. Je kunt dan de speciale vraagoptie hide_tip gebruiken (in dit geval kun je voorkomen dat de gebruiker de tip/hint krijgt de leeftijd tussen de 0 en 115 moet liggen, behalve als ze een verkeerde waarde invullen).


Komma als radix (decimaal) scheidingsteken

Deze demo toont dat, ondanks dat vanaf versie 1.92 het gebruik van komma als decimaal scheidingsteken bij het uitvoeren wordt ondersteunt, je toch nog een decimaal als scheidingsteken moet gebruiken bij het ontwerpen (bijvoorbeeld bij het specificeren van min/max waarden bij de speciale vraagattributen). Een werkend voorbeeld staat hier.

We herhalen nogmaals dat de VALIDATIE logica automatisch wordt aangemaakt op grond van de ingeschakelde speciale vraagattributen. De vergelijkingen zijn vermoedelijk onnavolgbaar, maar je hoeft je er niet druk over te maken.