Actions

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 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?")}}
{{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.

Als je een van de vooraf geïnstalleerde thema's gebruikt en het attribuut verplicht is ingeschakeld, wordt er naast de vraag een rood sterretje weergegeven. Als je het sterretje wilt verbergen, lees dan deze beschrijving.


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,

 Hint: Om de condities in je enquête te controleren gebruik je de functie toon logica enquête.


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:



Deze vraag altijd verbergen (hidden)

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.
NB: Deze functie wordt vaak gebruikt bij het vraagtype vergelijking.

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.


  Attentie : De validatie-optie Expressie beheer kan ook worden gebruikt voor het bepalen van een minimum datum. Als je echter de pop-up kalender gebruikt en de expressie is afhankelijk van een vraag op dezelfde pagina wordt het jaar niet goed weergegeven.



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.

  Attentie : De validatie-optie Expressie beheer kan ook worden gebruikt voor het bepalen van een maximum datum. Als je echter de popup kalender gebruikt en de expressie is afhankelijk van een vraag op dezelfde pagina, dan wordt het jaar niet goed weergegeven.


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.

 Hint: Als je meer complexe validatie-teksten wilt maken, lees dan ExpressionScript.


Als je het voorbeeld wilt importeren in je eigen LimeSurvey installatie, dan kun je het bestand downloaden.

 Tip: LET OP, LimeSuvey gebruikt de Perl-syntax voor reguliere expressies, ze moeten dus beginnen en eindigen met een / (slash)!



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

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.

  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?")