Actions

Question type - Date/sl: Difference between revisions

From LimeSurvey Manual

(Updating to match new version of source page)
(Updating to match new version of source page)
Line 5: Line 5:
=Kratek opis=
=Kratek opis=


<onlyinclude>{{#ifeq:{{{transcludesection|short_description}}}|short_description|This question type can be used to ask for a certain date which can be entered directly, using the JavaScript calendar or by using a drop-down representation. Since version 1.80 you can also specify a minimum and maximum value for drop-down dates.
<onlyinclude>{{#ifeq:{{{transcludesection|short_description}}}|short_description|This question type can be used to ask for a certain date, for a time or a combination of date and time. Dates and times can be entered directly, chosen from a popup calendar or from drop-down boxes. For validation, minimum and maximum dates can be chosen. Various date and time formats are supported. Some of these features are only available from LimeSurvey version 2.05+.


[[File:D_Date_DD.jpg]]
[[File:D_Date_DD.jpg]]
Line 13: Line 13:


{{QS:mandatory/sl}}
{{QS:mandatory/sl}}
{{QS:defaults/sl}}


{{QS:relevance/sl}}
{{QS:relevance/sl}}
Line 32: Line 30:
{{QS:dropdown_dates_year_max/sl}}
{{QS:dropdown_dates_year_max/sl}}


{{QS:em_validation_q/sl}}
{{QS:date_min}}


Ta tip vprašanja lahko uporabimo, če želimo povprašati po določenem datumu, ki ga lahko direktno vnesemo s pomočjo JavaScript koledarja ali z uporabo spustnega menija. Od verzije 1.80 dalje je možno določiti minimalno in največjo vrednost, ki naj še bo prikazana v spustnem seznamu.
{{QS:date_max}}


===Oblika datuma===
{{QS:em_validation_q}}
{{Alert||text=Datum v LimeSurvey-u je shranjen v obliki niza (znakovni format).}}
<div class="boxed">Da bi lahko operirali z datumi (in z njimi tudi računali), jih je potrebno pretvoriti v številčni format. Funkcija strtotime{{NewIn/sl|2.0|b=130515}}, ki izračunava število sekund od 1. januarja 1970 do določenega datuma, je primerna za tovrsten izračun. Uporaba funkcije strtotime() pa lahko na primer vsili vnos datuma "pred današnjim", in sicer z uporabo ukaza strtotime(self)<=strtotime("now"). S podobnim ukazom lahko pogojujemo vnos določenega datuma: strtotime(self)>strtotime("2013-03.27").
</div>


{{Alert|Upoštevajte, da ukaz strtotime() deluje z veliko različnimi vendar ne z vsemi oblikami datumov. Ravno LimeSurvey-eva privzeta oblika datuma (MM-DD-YYYY) ne podpira strtotime(). Priporočamo, da nastavite vašo anketo na eno izmed naslednjih oblik datuma in se s tem izognete omenjenemu problemu: YYYY-MM-DD, YYYY/MM/DD, DD.MM.YYYY,  MM/DD/YYYY, DD-MM-YYYY.}}
===Validation on date===
{{Alert||text=Dates in Limesurvey are saved as a string (text format).}}
<div class="boxed">To really be able to work (and calculate) with dates, these have to be converted to a number format. The function strtotime{{NewIn|2.0|b=130515}} , which calculates the number of seconds from the 1st January 1970 to a given date can be used for this. Using strtotime() one can for example enforce that only dates before "today" are entered using the following expression: strtotime(self)<=strtotime("now").
Or enforce that that only dates after a certain date can be entered: strtotime(self)>strtotime("2013-03-27")</div>


{{QS:em_validation_q_tip/sl}}
{{Alert|Please be aware that strtotime() works with a lot of different but not ALL date formats. Limesurvey's default date format (MM-DD-YYYY) does NOT work with strtotime(). Please set your survey to use one of the following date formats to avoid problems: YYYY-MM-DD, YYYY/MM/DD, DD.MM.YYYY, MM/DD/YYYY, DD-MM-YYYY.}}




{{QS:Page_break/sl}}
{{QS:em_validation_q_tip}}


{{QS:Page_break}}
{{QS:Page_break}}

Revision as of 15:17, 23 January 2014

Kratek opis

This question type can be used to ask for a certain date, for a time or a combination of date and time. Dates and times can be entered directly, chosen from a popup calendar or from drop-down boxes. For validation, minimum and maximum dates can be chosen. Various date and time formats are supported. Some of these features are only available from LimeSurvey version 2.05+.

Glavne nastavitve

Obvezno

Opis

Ta možnost skrbnikom ankete omogoča, da od svojih anketirancev zahtevajo, da odgovorijo na določena anketna vprašanja. Če na obvezna vprašanja ne odgovorijo, anketiranci ne bodo mogli nadaljevati. Če imate vprašanje z več podvprašanji in zahtevate odgovor le na določena podvprašanja, uporabite atribut minimalni odgovor, ki se nahaja pod zavihkom Logika.

Template:Opomba


Razpoložljive možnosti

  • Vklopljeno - na vprašanje je treba odgovoriti, preden lahko udeleženec nadaljuje na naslednjo stran - možnost odgovora 'Brez odgovora' ni nikoli prikazana.
  • Soft - Če na vprašanje ni odgovorjeno, se ob poskusu nadaljevanja prikaže opozorilo naslednja stran - vendar se lahko udeleženec odloči, da opozorilo prezre in nadaljuje. Upoštevajte, da je možnost 'Brez odgovora' še vedno prikazana (če je aktivirana v nastavitvah predstavitve ankete)
  • Izklopljeno (privzeto) - Vprašanje lahko ostane brez odgovora


Pogoj (prej "Enačba ustreznosti")

Opis

Če je rezultat pogoja »1« ali »true«, je vprašanje v kontekstu ankete »relevantno«, torej se prikaže anketirancu. Če ne, je vprašanje skrito. Vsako anketno vprašanje vam omogoča, da določite enačbo pomembnosti. Ta funkcija je naslednica pogojev in podpira veliko bolj zapleteno pogojno logiko.

Označevanje sintakse

Kadarkoli shranite pogoj, je ovrednoten in sintaktično poudarjen. Morebitne napake bodo označene z barvami, da jih boste lahko hitro odkrili in odpravili.

 Hint: Če želite preveriti, ali so vsi pogoji v vaši anketi pravilno uporabljeni, preberite o naši funkciji prikaži logično datoteko.


Veljavne vrednosti

  • Kateri koli pogoj, ki uporablja sintakso ExpressionScript brez okoliških zavitih oklepajev.

Primeri

Tu so dobri primeri označevanja sintakse.


Napredne nastavitve

Nasprotni vrstni red odgovorov (reverse)

Opis

Če je aktivirana, bo vrstni red odgovorov obrnjen.

Veljavne vrednosti

  • Da
  • Ne (privzeto)

Primer

Predpostavimo, da želite uporabiti vrsto vprašanja Matrika (števila). Če je ta možnost onemogočena (privzeta vrednost), so možni odgovori, ki jih lahko izbere udeleženec ankete: "1, 2, 3, ... , 10". Če je omogočena, bo nastavitev obrnila vrstni red razpoložljivih odgovorov: "10, 9, 8, ... , 1".



Ime naključne skupine (random_group)

Opis

Vprašanja postavi v določeno naključno skupino, pri čemer so vsa vprašanja, vključena v navedeno skupino, prikazana v naključnem vrstnem redu anketirancem.

V ExpressionScript sample survey lahko najdete vzorec ankete z imenom skupine za naključno izbiranje.

Veljavne vrednosti

Samo vnesite poljuben niz (na primer: 'group1'). Vsa vprašanja, ki so v polju 'ime skupine za naključno izbiro nastavili isti niz, bodo imela svoje mesto v anketi randomizirana (=naključno izmenjana med seboj).


Predogled Za predogled vprašanj uporabite predogled ankete namesto funkcije predogled skupine vprašanj, saj so poročali, da druga ne prikazuje vprašanj v naključnem vrstnem redu.



Prikaži spustne sezname (dropdown_dates)

Opis

Če je omogočeno, bo vrsta vprašanja o datumu/času anketirancem prikazala spustno polje, kjer lahko izberejo datum/čas, namesto privzetega pojavnega okna.

Veljavne vrednosti

  • Da
  • Ne (privzeto)

Primer

Če je vklopljen, bo vprašanje prikazano na naslednji način:



Vedno skrij to vprašanje (skrito)

Opis

Če je omogočeno, bo vprašanje vedno skrito – ne bo prikazano udeležencem ankete. To funkcijo je mogoče uporabiti v naslednjih scenarijih:

  • Če želite vprašanje vnaprej izpolniti z URL-jem in ne želite, da se prikaže na zaslonu. To preglasi vse pogoje, uporabljene v anketi, ker zadevno vprašanje sploh ne bo vdelano na stran.
  • Če želite sproti shraniti ali izračunati vrednost prek ExpressionScript - Presentation.
Opomba: Pogosta vrsta vprašanja, ki se uporablja s to funkcijo, je Equation.

'Razpoložljive možnosti

  • Vklopljeno
  • Izklopljeno (privzeto)



Minimalno leto (dropdown_dates_year_min)

Opis

Ta vprašalni atribut se lahko uporabi za določitev minimalne vrednosti leta pri vprašanju o datumu. Velja tako za spustni seznam kot za pojavno okno določitve datuma.

Veljavne vrednosti

Veljavna vrednost leta



Najvišje leto (dropdown_dates_year_max)

Opis

Ta vprašalni atribut se lahko uporabi za določitev maksimalne vrednosti leta pri vprašanju o datumu. Velja tako za spustni seznam kot za pojavno okno določitve datuma.

Veljavne vrednosti

Veljavna vrednost leta



Minimum date (date_min)

Description

This question attribute can be used to set the minimum value for a date question (in y-m-d format or any English valid string - see below for more details). It can be used for both popup and dropdown display options. If a minimum date is not set, then 1.1.1900 is used as default.


  Attention : The Expression Manager validation option can also be used for setting up a "minimum date". However, if you you use the popup calendar and the expression relies on a previous question located on the same page, the year will not be displayed correctly in the popup calendar.



Valid values

  • Any date value in format YYYY-MM-DD (eg., 2017-08-24);
  • Any year value;
  • Any English string : "now", "-10 years", "tomorrow";
  • Reference to another date/time question : AnotherDateQuestion (using the question code);
  • Expressions : With expressions, a minimum date can be dynamically calculated. For example, you can use a date from a previous answer + 3 days as a minimum for the present question by entering: date("Y-m-d",strtotime(departuredate)+3*60*60*24).



Maximum date (date_max)

Description

This question attribute can be used to set the maximum value for the date question (in y-m-d format or any other English valid string - see below for more options). It can be used for both popup and dropdown display options.

  Attention : The Expression Manager validation option can also be used for setting up a "maximum date". However, if you use the popup calendar and the expression relies on a previous question located on the same page, the year will not be displayed correctly in the popup calendar.


Valid values

  • Any date value in format YYYY-MM-DD (eg., 2018-08-24);
  • Any year value;
  • Any English string : "now", "-10 years", "tomorrow";
  • Reference to another date/time question : AnotherDateQuestion (using the question code);
  • Expressions: With expressions, a date can be dynamically calculated. For example, you can use a date from a previous answer + 3 days as a maximum date for the present question by entering: date("Y-m-d",strtotime(departuredate)+3*60*60*24).



Question validation equation (em_validation_q)

Description

This is an equation that is used to validate the entire question (e.g, all of its parts collectively for a multi-answer question). If the question fails the validation criteria, then em_validation_q_tip message will be displayed (it uses the CSS style .error). This tip uses the .em_q_fn_validation CSS style, which is hidden by default within template.css.

The main difference between this feature and the subquestion validation equations (em_validation_sq option) is that for this feature, if the question (or question parts) fail validation, then an error message could be shown. For the subquestion validation, each text entry cell (e.g., in an array question type, but it can also be applied to single entry question types) will be styled so that the background color is (light) red.

Valid values

  • Any equation that makes use of the ExpressionScript syntax, without surrounding curly braces.

Example

  • You want to collect demographic information from users via a multiple short text question, and you want to validate that the user has entered a valid email address and phone number.

This example shows how the question looks with invalid answers:

And here is what it looks like with one invalid answer:

Here is how you edit a question to enter that information:

And here is part of the Show Logic File output that lets you check the accuracy of your expression and ensure that there are no syntax errors:

As you can see, the validation equation tests that both the email and phone number are either empty or match a regular expression filter.

The validation tip only shows the warning message if the phone or email appears invalid.

 Hint: In order to create complex validation messages, read about the usage of the ExpressionScript.


If you wish to import the example from above into your LimeSurvey installation, download the following .lsq file: Em_validation_q_example.zip.

 Hint: Remember, LimeSuvey uses the Perl syntax for regular expressions, so they should start and end with / (slash character)!


Validation on date

  Dates in Limesurvey are saved as a string (text format).


To really be able to work (and calculate) with dates, these have to be converted to a number format. The function strtotime (New in 2.0 build 130515) , which calculates the number of seconds from the 1st January 1970 to a given date can be used for this. Using strtotime() one can for example enforce that only dates before "today" are entered using the following expression: strtotime(self)<=strtotime("now"). Or enforce that that only dates after a certain date can be entered: strtotime(self)>strtotime("2013-03-27")
  Please be aware that strtotime() works with a lot of different but not ALL date formats. Limesurvey's default date format (MM-DD-YYYY) does NOT work with strtotime(). Please set your survey to use one of the following date formats to avoid problems: YYYY-MM-DD, YYYY/MM/DD, DD.MM.YYYY, MM/DD/YYYY, DD-MM-YYYY.




Tip for whole question validation equation (em_validation_q_tip)

Description

If you are using the question validation equation, you can use this box in order to display an optional message as question tip on how the question has to be filled out.

Valid values

Example

See the example from the question validation equation wiki section- it shows how the tip can be tailored to show which parts of a multiple short text question fail the validation criteria.



Insert page break in printable view (page_break)

Description

This attribute is only active when you actually print a survey from the Printable View. It forces a page break before the question.

Available options

  • On
  • Off (default)