Actions

Question type - Date

From LimeSurvey Manual

This page contains changes which are not marked for translation.

Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎日本語 • ‎Nederlands • ‎slovenščina

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+.

D Date DD.jpg Datetime.jpg Timepicker.jpg

General options

Mandatory

Description

This option allows the survey administrators to request their respondents to answer to certain survey questions. If the mandatory questions are not answered, the respondents will not be able to proceed further. If you have a question with multiple subquestions and you require only certain subquestions to be answered, use the minimum answer attribute located under the Logic tab.

Valid values:

  • Yes
  • No (default)



Relevance equation

Description

If the value of the relevance equation is "1" or "true", the question is "relevant" in the survey context, i.e. it is shown to the survey participant. If not, the question is hidden. Any survey question allows you to specify a relevance equation. This function is the successor of conditions and supports much more complex conditional logic.

Syntax Highlighting

Whenever you save the relevance equation, it is evaluated and syntax-highlighted. Any errors will be color coded so that you can quickly detect and fix them.

Notice.png
Hint: To check if all the relevance equations are used correctly within your survey, read about our show logic file feature.


Valid values

Any equation that makes use of the Expression Manager syntax, without surrounding curly braces.

Examples

Here are good examples of syntax highlighting.


Display

Display dropdown boxes (dropdown_dates)

Description

This question attribute changes the presentation of the Date-Question Type to single dropdown boxes for day/month/Year.

Available options

  • On
  • Off (default)



Hide tip (hide_tip)

Description

Most questions will usually include a tip that says "Please choose one of the following options" or a hint text on how to fill out the question. This attribute allows you to turn off or on this tips/hints.

These tips/hints include validation criteria messages (such as min/max number of answers, min/max/equals sum value). If hide_tip is enabled, these messages will be hidden. However, if the user enters invalid data, the tips will appear. They will be coloured in red, getting changed to green once the validation criteria are met.

Available options

  • On - the tips/hints are hidden;
  • Off (default).


QS:Mont display style


Reverse answer order (reverse)

Description

Present answer options in reverse order

Available options

  • On
  • Off (default)



Question theme (question_theme)

Description

It allows you to use customized themes for the respective question.

Available options

  • Your created question themes which are located under the Question themes in the Themes panel.
Help.png Note: This feature is under development at the moment.


Always hide this question (hidden)

Description

If enabled, the question will always be hidden - it will not be displayed to the survey participants. This function can be used in the following scenarios:

  • If you wish to prefill a question with a URL and you want not to have it displayed on the screen. This overrides any conditions used within the survey because the respective question will not even be embedded on the page.
  • If you wish to store or calculate a value on the fly via the Expression Manager
Notice.png
Hint: A common question type that is used with this function is the Equation one.


Available options

  • On
  • Off (default)


CSS class (css_class)

Description

If you want to add special CSS classes to certain questions, you can enter the CSS class name(s) in this box. Make sure you leave an empty space between different class names.

Valid values

  • Any text string with a space between different CSS class names.
Notice.png
Hint: You can also insert an expression in this box (New in 3.0.0 ). Remember that the output of the expression will not be updated dynamically.


Important.png
According to the W3C, CSS class names can contain only the characters [a-zA-Z, and 0-9] and ISO 10646 characters U+00A1 and higher, plus the hyphen (-) and the underscore (_). They cannot start with a digit, or a hyphen followed by a digit. LimeSurvey encodes CSS classes, but it does not fix it totally.



Minimum date (date_min) (New in 2.05 )

Description

This question attribute can be used to set the minimum value for the date question (in Y-m-d format or any English valid string) . It applies to both, the popup-variant of the calendar and the dropdown fields. Besides validation via Expression Manager, the selection of days in the popup calender is also limited accordingly. The year in popup calendar is not updated if Expression use Question in same page.

Date validation.jpg

Valid values

  • Any date value in format YYYY-MM-DD (eg., 2013-08-24)
  • Any year value
  • Any English string : "now", "-10 years", "tomorrow"
  • Reference to another date/time question : AnotherDateQuestion
  • 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) (New in 2.05 )

Description

This question attribute can be used to set the minimum value for the date question (in Y-m-d format or any English valid string) . It applies to both, the popup-variant of the calendar and the dropdown fields. Besides validation via Expression Manager, the selection of days in the popup calender is also limited accordingly. The year in popup calendar is not updated if Expression use Question in same page.

Valid values

  • Any date value in format YYYY-MM-DD (eg., 2013-08-24)
  • Any year value
  • Any English string : "now", "-10 years", "tomorrow"
  • Reference to another date/time question : AnotherDateQuestion
  • 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).



Relevance help for printable survey (printable_survey_relevance_help}

Description

If you wish to print a survey, you can also print the relevance equations for each question. But, if you wish to offer instead an explanation rather than the expression on the printed form, fill in this box with the text explanation for the relevance equation.

Valid values

  • Any text and/or numbers you wish to be displayed on the printable form.


Input

Date/Time format

Description

This question attribute can be used to specify a custom date format. If it's empty, the survey date format is used.

Valid values

The d/dd m/mm yy/yyyy H/HH M/MM formats and "-./:" characters are allowed for day/month/year/hour/minutes without or with leading zero respectively. Example are: "yyyy-mm-dd", "dd.mm.yyyy HH:MM", "HH:MM" (only ask for time) or "yyyy/mm" (only ask for month and year).


QS:Minute step interval

Logic

Randomization group name (random_group)

Notice.png
Hint: This features is available starting in version 1.92
Important.png
Attention : The order of randmization is currently not stored. So you should not give the user an option to save/resume later. This is a limitation that will be fixed in a future version.

Description

Place questions into a specified randomization group, all questions included in the specified group will appear in a random order.

Valid values

Just enter any string you like (for example: 'group1'). All question which have set the same string will have their place in the survey randomized (=randomly exchanged among each other).



Whole question validation equation (em_validation_q)

Notice.png
Hint: This features is available starting in version 1.92


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 then em_validation_q_tip message has the CSS style .error set to it. 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 Sub-question 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 sub-question validation, each text entry cell (e.g. in array, but also applies to single entry question types) will be styled so that the background color is pink.

Valid values

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 reasonable email and phone number.

This example shows how the question looks with invalid answers:

Validation-invalid-both.jpg

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

Validation-invalid-phone.jpg

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

Validation-gui.jpg

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

Validation-logic.jpg

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

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

Please see the forum for examples: https://www.limesurvey.org/forum/can-i-do-this-with-limesurvey/111858-validate-phone-and-email-in-multiple-short-text

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




Tip for whole question validation equation (em_validation_q_tip)

Notice.png
Hint: This features is available starting in version 1.92


Description

If you are using em_validation_q, this is an optional message to show as a question 'tip'.

Valid values

  • Any string

Example

  • See the example for the Question validation tip - it shows how the tip can be tailored to show which parts of a multiple short text question fail validation criteria.


Other

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. (Only the Opera browser does not need this since it handles the page breaks accordingly.)

Available options

  • Yes
  • No (default)


Statistics

QS:Display chart

QS:Chart type


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.

Important.png
Dates in Limesurvey are saved as a string (text format).Starting in ver. 2.05+, Expression Manager converts all dates part of an expression into the standard format "yyyy-mm-dd HH:MM:SS". This makes it much easier to compare dates in an expression (e.g. "date1>date2"). If you need a datestring in the format it was asked in the question, use the ".shown" attribute (e.g.: "So you were born on the {birthdate.shown}. Is this right?")