Question type - Date/nl: Difference between revisions
From LimeSurvey Manual
(Created page with "{{QS:em_validation_sq_tip/nl}}") |
No edit summary |
||
Line 50: | Line 50: | ||
De functie strtotime() werkt met veel maar niet met alle datumformaten. Het standaardformaat van Limesurvey (MM-DD-YYYY) is hiervoor niet geschikt. Gebruik in je enquête een van de volgende datumformaten: YYYY-MM-DD, YYYY/MM/DD, DD.MM.YYYY, MM/DD/YYYY, DD-MM-YYYY. | De functie strtotime() werkt met veel maar niet met alle datumformaten. Het standaardformaat van Limesurvey (MM-DD-YYYY) is hiervoor niet geschikt. Gebruik in je enquête een van de volgende datumformaten: YYYY-MM-DD, YYYY/MM/DD, DD.MM.YYYY, MM/DD/YYYY, DD-MM-YYYY. | ||
{{Alert|text=Een datum wordt in | {{Alert|text=Een datum wordt in LimeSurvey opgeslagen als een string (tekstformaat). Vanaf versie 2.05+, converteert Expressie Beheer alle datums die in een expressie gebruikt worden naar het formaat "yyyy-mm-dd HH:MM:SS". Hierdoor kunnen datums in een expressie gemakkelijk met elkaar vergeleken worden (bijvoorbeeld: "date1>date2"). Als je de datum nodig hebt zoals die in de vraag getoond is, gebruik dan het ".shown" attribuut (bijv.: "Dus je bent geboren op {birthdate.shown}. Klopt dat?")}} |
Revision as of 17:44, 5 March 2018
Korte beschrijving
Dit vraagtype kan gebruikt worden om een bepaalde datum te laten invoeren, of alleen een tijd of voor zowel een datum als een tijd. De datum en tijd kunnen direct worden ingevoerd of geselecteerd worden in een kalender of geselecteerd worden met dropdownlijsten. Je kunt kiezen voor validatie, en een minimale en een maximale datum. Er worden meerdere formaten voor datum en tijd ondersteund. Enkele van deze functies zijn pas beschikbaar vanaf versie 2.05+.
Hoofd instellingen
Verplicht (mandatory)
Beschrijving
Met deze optie kan de enquête-beheerder instellen dat een bepaalde vraag beantwoordt moet worden voordat de deelnemer verder kan gaan met invullen. Als je een vraag hebt met subvragen en je wilt niet alle onderdelen verplicht maken, gebruik dan de optie Minimum aantal antwoorden (min_answers) op de tab Logica.
Beschikbare opties
- Aan - Vraag moet worden beantwoord voordat de deelnemer naar de volgende pagina kan - de antwoordoptie 'Geen antwoord' wordt nooit getoond.
- Zacht - Als de vraag niet wordt beantwoord, wordt een waarschuwing weergegeven wanneer wordt geprobeerd door te gaan naar de volgende pagina - de deelnemer kan er echter voor kiezen de waarschuwing te negeren en verder te gaan. Merk op dat de optie 'Geen antwoord' nog steeds wordt weergegeven (indien geactiveerd in de instellingen voor enquêtepresentatie)
- Uit (standaard) - Vraag kan onbeantwoord blijven
Conditie (eerder "Relevantievergelijking")
Beschrijving
Als de waarde van de conditie 1 of true is dan is de vraag relevant en wordt de vraag getoond bij het invullen van de enquête. En anders niet. Bij elke vraag kun je een relevantievergelijking specificeren. Dit vervangt de condities, het ondersteunt veel meer complexe logica.
Syntax markering in kleur
Wanneer je de conditie opslaat, dan wordt het geëvalueerd en met kleur gemarkeerd. De fouten worden met een kleur aangegeven waardoor je de fouten gemakkelijker ziet,
Geldige waarden
- Een conditie gebruikt de syntax die beschreven is in ExpressionScript, zonder de omringende accolades.
Voorbeelden
Voorbeelden van het met kleur markeren, oftewel syntax markering.
Speciale instellingen
Omgekeerde antwoordvolgorde (reverse)
Beschrijving
Indien geactiveerd worden de antwoordopties in de omgekeerde volgorde getoond.
Beschikbare opties
- Ja
- Nee (standaard)
Voorbeeld
Een voorbeeld met een vraag met het vraagtype Array (getallen). Indien de optie is uitgeschakeld (standaardwaarde) dan zijn de antwoorden: "1, 2, 3, ... , 10". Indien ingeschakeld zijn de beschikbare antwoorden: "10, 9, 8, ... , 1".
Randomisatiegroepsnaam (random_group)
Beschrijving
Plaatst de vragen in een randomisatiegroep waardoor de vragen in een willekeurige volgorde getoond worden aan de deelnemers.
Een voorbeeld van een enquête met deze functie staat hier.
Geldige waarden
Geef een tekst op (bijvoorbeeld: 'groep1'). Alle vragen die deze tekst bij dit veld hebben krijgen onderling een willekeurige plaats.
Preview
Als je een voorbeeld van de vragen wilt bekijken, gebruik dan het voorvertonen van de enquête in plaats van die van de vragengroep, omdat van de tweede is gemeld dat deze de vragen niet in een willekeurige volgorde zou weergeven.
Toon dropdownvelden datum (dropdown_dates)
Beschrijving
Indien ingeschakeld wijzig je de presentatie van het datum vraagtype naar dropdownvelden voor dag/maand/jaar in plaats van de standaard popup.
Beschikbare opties
- Aan
- Uit (standaard)
Voorbeeld
Indien ingeschakeld, de vraag wordt getoond als:
Beschrijving
Indien ingeschakeld wordt de vraag altijd verborgen voor de deelnemers aan de enquête. Je kunt dit gebruiken als:
- je met een URL een vraag al ingevuld toont, dan kun je met deze instelling voor zorgen dat de vraag helemaal niet getoond wordt aan de deelnemer. Deze instelling gaat voor wat met condities is ingesteld, de vraag wordt helemaal niet opgenomen op de pagina.
- je een even snel een waarde wilt bepalen of opslaan met ExpressionScript.
Beschikbare opties
- Aan
- Uit (standaard)
Minumum datum (date_min)
Beschrijving
Dit vraagattribuut kan gebruikt worden om een minimale waarde voor de datum te bepalen voor een vraag met een kalender (formaat y-m-d of een Engelse tekst). Het geldt zowel voor de popup-variant als voor de dropdownlijsten. De defaultwaarde is 1 januari 1900.
Geldige waarden
- Elke datum in het formaat YYYY-MM-DD (bijv., 2017-08-24)
- Elke waarde voor jaar
- Een Engelse tekst : "now", "-10 years", "tomorrow"
- Referentie aan een andere datum/tijd vraag (bijv., geboortedatum, met de vraagcode)
- Expressies, met expressies kun je dynamisch een startdatum bepalen. Voorbeeld: je kunt een datum van een vorige vraag gebruiken + 3 dagen als het minimum voor de huidige vraag, door: date("Y-m-d",strtotime(vertrekdatum)+3*60*60*24).
Maximum datum (date_max)
Beschrijving
Dit vraagattribuut kan gebruikt worden om een maximale waarde te bepalen voor een vraag met een kalender (formaat Y-m-d of een Engelse tekst). Het geldt zowel voor de popup-variant als voor de dropdownlijsten.
Geldige waarden
- Elke datum in het formaat 'YYYY-MM-DD (bijv., 2018-08-24)
- Elke waarde voor jaar
- Een Engelse tekst : "now", "-10 years", "tomorrow"
- Referentie aan een andere datum/tijd vraag (bijv. geboortedatum, met de vraagcode)
- Expressies, Hiermee kan een datum worden bepaald. Voorbeeld: je kunt een datum van een vorige vraag gebruiken + 365 dagen als het maximum voor de huidige vraag, door: date("Y-m-d",strtotime(vertrekdatum)+365*60*60*24).
Datum/Tijd formaat
Beschrijving
Deze vraagoptie kan gebruikt worden om een datumformaat te specificeren. Standaard wordt het datumformaat van de enquête gebruikt.
Geldige waarden
De formaten d/dd,m/mm,yy/yyyy,H/HH,M/MM zijn toegestaan voor dag/maand/jaar/uur/minuten. Scheidingstekens: "-", ".", "/", ":".
Voorbeelden
- "yyyy-mm-dd"
- dd.mm.yyyy HH:MM"
- "HH:MM" (alleen de tijd)
- "yyyy/mm" (alleen maand en jaar).
Vraag validatievergelijking (em_validation_q)
Beschrijving
Deze vergelijking wordt gebruikt om de hele vraag te valideren. Als de invoer van een vraag niet voldoet, dan wordt de em_validation_q_tip getoond met de em_q_fn_validation CSS-style om de fout te markeren. Deze tip is standaard verborgen (hidden) in het template.css.
Het belangrijkste verschil van deze optie en die validatie bij subvragen (em_validation_sq optie), is dat hier een foutboodschap kan worden getoond. Bij subvragen worden fouten aangegeven met een (licht)rode achtergrond.
Geldige waarden
- Een vergelijking, die de ExpressionScript syntax gebruikt, zonder de omringende accolades.
Voorbeeld
- Je wilt demografische informatie verzamelen van gebruikers met een meerdere korte teksten vraag, en je wilt controleren dat de gebruiker een geldig e-mailadres en telefoonnummer invult.
Voorbeeld met ongeldige gegevens:
Voorbeeld met geldige gegevens:
Hoe moet je de vraag wijzigen om de informatie in te voeren:
En hier een stukje van het Enquête logica bestand waarmee je de nauwkeurigheid van je expressie kunt controleren en dat er geen fouten in de syntax zijn:
Zoals je kunt zien controleert de validatie vergelijking dat zowel het e-mailadres als het telefoonnummer of leeg zijn of voldoen aan een reguliere expressie filter.
De validatie tip is de tekst die getoond moet worden als het telefoonnummer of het e-mailadres ongeldig zijn.
Als je het voorbeeld wilt importeren in je eigen LimeSurvey installatie, dan kun je het bestand downloaden.
Vraag validatie tip (em_validation_q_tip)
Beschrijving
Als je vraag validatievergelijking gebruikt, dan is dit de optionele boodschap die als tip getoond wordt hoe de vraag ingevuld moet worden.
Geldige waarden
- elke tekst of vergelijking die gebruik maakt van de syntax van ExpressionScript
Voorbeeld
Het voorbeeld staat bij de Vraag validatievergelijking. Je kunt daar zien hoe er met maatwerk kan worden aangegeven wat er als tip wordt getoond als er een fout wordt gemaakt door de gebruiker.
Subvraag validatie vergelijking (em_validation_sq)
Beschrijving
Deze vergelijking wordt gebruikt om elke subvraag afzonderlijk te valideren. Als de invoer van een subvraag niet voldoet, dan wordt de achtergrondkleur roze (gebruik van de em_sq_fn_validation CSS-style) om de fout te markeren. Dit is een aanvulling op de normale reguliere expressie validatie.
Geldige waarden
Elke vergelijking die de syntax gebruikt die beschreven is in de ExpressionScript, zonder de omringende accolades.
Voorbeelden
Een voorbeeld, als je alleen getallen wilt toestaan die een veelvoud van 3 zijn, wordt de vergelijking:
(this / 3) == floor(this/3)
De gereserveerde variabele this wordt automatisch vervangen door een referentie naar het actieve invoerveld.
Subvraag validatie tip (em_validation_sq_tip)
Beschrijving
Als je em_validation_sq gebruikt, dan is dit de optionele boodschap die als 'tip' getoond wordt als het antwoord fout is.
Geldige waarden
- elke tekst
Voorbeeld
- In het voorbeeld met het valideren van e-mailadressen, kan de tip zijn : "Het e-mailadres dat u opgaf is ongeldig. Probeert u het nog eens."
Forceer nieuwe pagina (page_break)
Beschrijving
Dit attribuut is alleen actief als je een enquête gaat afdrukken. Je kunt een nieuwe pagina forceren voor de vraag.
Beschikbare opties
- Aan
- Uit (standaard)
Datum en Expressie Beheer: Geavanceerde validatie en calculatie
Vanaf Limesurvey versie 2.05+ is het gemakkelijk om om datums te valideren (zie bovenstaande). Gebruik deze opties. Je kunt ook rekenen met datums door Expressie beheer te gebruiken en de functie strtotime() (Nieuw in 2.0build 130515). Het bepaald voor een gegeven datum het aantal seconden vanaf 1-1-1970. Voorbeeld: als je in een vraagtekst het aantal dagen sinds een vertrekdatum (die bekend is door een eerdere vraag) wilt tonen, dan kun je de expressie {(strtotime("now")-strtotime(vertrekdatum))/60/60/24} gebruiken. De functie strtotime() werkt met veel maar niet met alle datumformaten. Het standaardformaat van Limesurvey (MM-DD-YYYY) is hiervoor niet geschikt. Gebruik in je enquête een van de volgende datumformaten: YYYY-MM-DD, YYYY/MM/DD, DD.MM.YYYY, MM/DD/YYYY, DD-MM-YYYY.