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 33: | Line 33: | ||
{{QS:date_time_format}} | {{QS:date_time_format}} | ||
{{QS:em_validation_q}} | |||
{{QS:em_validation_q_tip}} | {{QS:em_validation_q_tip}} | ||
{{QS:em_validation_sq}} | |||
{{QS:em_validation_sq_tip}} | |||
{{QS:Page_break}} | {{QS:Page_break}} |
Revision as of 15:20, 28 February 2017
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.
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.
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.
'Razpoložljive možnosti
- Vklopljeno
- Izklopljeno (privzeto)
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.
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.
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).
Date/Time format
Description
This question option can be used to specify a custom date format. If it is empty, the survey date format will be used.
Valid values
- The d/dd,m/mm,yy/yyyy,H/HH,M/MM formats can be used to display the date and/or time, while "-", ".", "/", ":" can be used as separators.
Examples
- yyyy-mm-dd - year-month-day;
- dd.mm.yyyy HH:MM - day.month.year Hour:Minute;
- HH:MM - Hour:Minute (only the time can be selected);
- yyyy/mm - year/month.
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.
If you wish to import the example from above into your LimeSurvey installation, download the following .lsq file: Em_validation_q_example.zip.
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
- Any string or equation that makes use of the ExpressionScript syntax.
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.
Sub-question validation equation (em_validation_sq)
Description
This is an equation that is used to validate each subquestion (text field) individually. Any text field that does not pass these validation conditions will have its background color turned pink (using the .em_sq_fn_validation CSS style) to highlight the error. Note that this is available in addition to the regular expression-based validation option.
Valid values
Any equation that makes use of the ExpressionScript syntax, without surrounding curly braces.
Examples
For example, if you want to allow only numbers that are a multiple of 3 as answers, the equation would be:
(this / 3) == floor(this/3)
The reserved variable this is automatically replaced by a reference to the active text entry cell.
Tip for sub-question validation equation (em_validation_sq_tip)
Description
If you are using em_validation_sq, this is an optional message/tip that will be displayed if the introduced answer is incorrect.
Valid values
- Any string
Example
- Continuing the example of validating emails, the tip might be "Please enter valid email addresses."
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)
Dates and Expression Manager: Advanced validation and calculation
Limesurvey versions 2.05+ and above make it fairly easy to validate dates using the date_min and date_max fields (see above). Use these whenever possible. If you need to do more fancy stuff, you may be able to work (and calculate) with dates using Expression Manager and the function strtotime() (New in 2.0 build 130515). It calculates the number of seconds from the 1st January 1970 to a given date. Example: if you want to display in a question text the number of days that have passed since a departure date (asked in a previous question) and today, you can can use the expression {(strtotime("now")-strtotime(departure))/60/60/24}. 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.