Тип вопроса - Дата
From LimeSurvey Manual
Краткое описание
Этот тип вопроса позволяет запросить определённую дату, время или одновременно дату и время. Участники могут выбрать значения во всплывающем календаре или в выпадающих списках. Администратор опроса может задать проверку, минимальную и/или максимальную даты. Поддерживаются различные форматы даты и времени.

Пример: Example_Date_Time.zip
Общие параметры
Обязательный
Описание
Эта опция позволяет администраторам опроса требовать от респондентов ответа на определённые вопросы опроса. Если на обязательные вопросы не получен ответ, респонденты не смогут перейти дальше. Если у вас есть вопрос с несколькими подвопросами и необходимо, чтобы ответ был дан только на некоторые из них, используйте атрибут минимум ответов, расположенный на вкладке Логические схемы.
Доступные варианты
- Вкл. - на вопрос необходимо ответить, прежде чем участник сможет перейти на следующую страницу - вариант ответа «Нет ответа» никогда не отображается.
- Мягкий - если на вопрос не дан ответ, при попытке перейти на следующую страницу отображается предупреждение - однако участник может проигнорировать его и продолжить. Обратите внимание, что вариант «Нет ответа» по-прежнему отображается (если он включён в настройках раздела «Презентация обзора»)
- Выкл. (по умолчанию) - на вопрос можно не отвечать
Условие
Описание
Если результат условия равен «1» или «true», вопрос считается «релевантным» в контексте опроса, то есть отображается участнику опроса. В противном случае вопрос скрывается. Для любого вопроса опроса можно задать уравнение условия. Эта функция является преемником условий и поддерживает гораздо более сложную условную логику.
Подсветка синтаксиса
Каждый раз при сохранении условия оно проверяется и подсвечивается в соответствии с синтаксисом. Все ошибки выделяются цветом, чтобы вы могли быстро их обнаружить и исправить.
Допустимые значения
- Любое условие, использующее синтаксис ExpressionScript, без окружающих фигурных скобок.
Примеры
Ниже приведены хорошие примеры подсветки синтаксиса.
Отображение
Показать выпадающие списки (dropdown_dates)
Описание
Если параметр включен, вопрос типа дата/время будет отображать для респондентов выпадающие списки, в которых можно выбрать дату/время, вместо всплывающего календаря по умолчанию.
Доступные варианты
- Вкл.
- Выкл. (по умолчанию)
Пример
Если параметр включен, вопрос будет выглядеть следующим образом:

Скрыть подсказку (hide_tip)
Описание
Большинство вопросов обычно содержат подсказку вида «Пожалуйста, выберите один из следующих вариантов» или текст с указаниями о том, как заполнить вопрос. Этот атрибут позволяет включить или отключить такие подсказки.
Эти подсказки включают сообщения о критериях проверки (например, минимальное/максимальное количество ответов, минимальное/максимальное значение суммы или значение «Равно суммарному значению»). Если hide_tip включён, эти сообщения будут скрыты. Однако если пользователь вводит недопустимые данные, подсказки появятся. Они будут выделены красным цветом, который изменится на зелёный, как только критерии проверки будут выполнены.
Доступные варианты
- Вкл. — подсказки скрыты;
- Выкл. (по умолчанию).
Стиль отображения месяца (month_display_style)
Описание
Месяцы можно отображать респондентам тремя способами: с помощью сокращённых названий (янв, фев и т. д.), полных названий (январь, февраль и т. д.) или номера/позиции месяца в календарном году (01 для января, 02 для февраля и так далее).
Доступные варианты
- Короткие имена
- Полные имена
- Числа
Обратный порядок ответов (reverse)
Описание
Если эта настройка включена, порядок ответов будет изменён на обратный.
Доступные варианты
- Вкл
- Выкл (по умолчанию)
Пример
Предположим, вы хотите использовать тип вопроса Массив (числовой). Если эта опция отключена (значение по умолчанию), участник опроса может выбрать один из следующих ответов: «1, 2, 3, ... , 10». Если опция включена, порядок доступных ответов будет обратным: «10, 9, 8, ... , 1».
Тема вопроса (question_theme)
Описание
Позволяет использовать собственные темы для соответствующего вопроса.
Доступные опции
- Созданные вами темы вопросов, которые находятся в разделе Темы вопросов на панели Темы.
См.: Темы вопросов
Описание
Если параметр включён, вопрос всегда будет скрыт — он не будет отображаться для участников опроса. Эту функцию можно использовать в следующих случаях:
- Если вы хотите заранее заполнить вопрос через URL, но не хотите, чтобы он отображался на экране. Это переопределяет любые условия, используемые в опросе, поскольку соответствующий вопрос даже не будет встроен в страницу.
- Если вы хотите сохранить или вычислить значение «на лету» с помощью ExpressionScript.
Доступные варианты
- Вкл
- Выкл (по умолчанию)
CSS-класс (css_class)
Описание
Если вы хотите добавить специальные CSS-классы к определённым вопросам, введите название CSS-класса (или названия классов) в это поле. Обязательно оставляйте пробел между названиями разных классов.
Допустимые значения
- Любая текстовая строка с пробелом между названиями разных CSS-классов.
Минимальная дата (date_min)
Описание
Этот атрибут вопроса можно использовать для установки минимального значения для вопроса с датой (в формате y-m-d или в виде любой допустимой английской строки — подробнее см. ниже). Его можно использовать как для всплывающего календаря, так и для выпадающего списка. Если минимальная дата не задана, по умолчанию используется 1.1.1900.
Допустимые значения
- Любое значение даты в формате ГГГГ-ММ-ДД (например, 2017-08-24);
- Любое значение года;
- Любая английская строка : "now", "-10 years", "tomorrow";
- Ссылка на другой вопрос типа «дата/время» : AnotherDateQuestion (с использованием кода вопроса);
- Выражения : с помощью выражений минимальную дату можно вычислять динамически. Например, можно использовать дату из предыдущего ответа + 3 дня в качестве минимума для текущего вопроса, введя: date("Y-m-d",strtotime(departuredate)+3*60*60*24).
Максимальная дата (date_max)
Описание
Этот атрибут вопроса можно использовать для задания максимального значения для вопроса с датой (в формате г-м-д или в виде любой другой допустимой английской строки — дополнительные варианты см. ниже). Его можно использовать как для всплывающего календаря, так и для выпадающего списка.
Допустимые значения
- Любое значение даты в формате ГГГГ-ММ-ДД (например, 2018-08-24);
- Любое значение года;
- Любая английская строка: "now", "-10 years", "tomorrow";
- Ссылка на другой вопрос типа «дата/время»: AnotherDateQuestion (с использованием кода вопроса);
- Выражения: с помощью выражений дату можно вычислять динамически. Например, вы можете использовать дату из предыдущего ответа + 3 дня в качестве максимальной даты для текущего вопроса, введя: date("Y-m-d",strtotime(departuredate)+3*60*60*24).
Справка по условию для печатной версии опроса (printable_survey_relevance_help)
Описание
Если вы хотите распечатать опрос, вы также можете распечатать уравнения условий для каждого вопроса. Но если вы хотите, чтобы в печатной форме вместо выражения отображалось пояснение, заполните это поле текстовым пояснением к уравнению условия.
Допустимые значения
- Любой текст и/или числа, которые вы хотите отобразить в печатной форме.
Ввод
Формат Дата/Время
Описание
Эта настройка вопроса позволяет задать пользовательский формат даты. Если поле пустое, будет использоваться формат даты опроса.
Допустимые значения
- Форматы d/dd, m/mm, yy/yyyy, H/HH, M/MM можно использовать для отображения даты и/или времени, а символы "-", ".", "/", ":" — в качестве разделителей.
Примеры
- yyyy-mm-dd - год-месяц-день;
- dd.mm.yyyy HH:MM - день.месяц.год час:минута;
- HH:MM - час:минута (можно выбрать только время);
- yyyy/mm - год/месяц.
Минутный интервал шага (minute_step_interval)
Описание
Используется только если формат ввода содержит минуты ("MM").
Допустимые значения
- Любое числовое значение, меньшее 60. Указывать значение больше 60 излишне -> в выпадающем списке в качестве возможных ответов будет отображаться только "0" или "00".
Пример
В примере ниже для параметра «Минутный интервал шага» задано значение 7:

Логика
Название группы рандомизированных вопросов (random_group)
Описание
Помещает вопросы в указанную группу рандомизированных вопросов. Все вопросы, входящие в эту группу, отображаются респондентам опроса в случайном порядке.
Пример опроса с использованием названия группы рандомизированных вопросов можно найти в разделе Примеры опросов ExpressionScript.
Допустимые значения
Введите любую строку (например: 'group1'). Все вопросы, для которых в поле Название группы рандомизированных вопросов задана одна и та же строка, будут размещены в опросе в случайном порядке (то есть случайным образом поменяются местами).
Предварительный просмотр
Чтобы просмотреть вопросы, используйте функцию Предварительный просмотр опроса, а не Предварительный просмотр группы вопросов, поскольку, по сообщениям пользователей, вторая не отображает вопросы в случайном порядке.
Уравнение условия для проверки вопроса (em_validation_q)
Описание
Это уравнение используется для проверки всего вопроса целиком (например, всех его частей в совокупности для вопроса с несколькими ответами). Если вопрос не соответствует критериям проверки, будет показано сообщение em_validation_q_tip (оно использует CSS-стиль .error). Эта подсказка использует CSS-стиль .em_q_fn_validation, который по умолчанию скрыт в файле template.css.
Главное отличие этой функции от уравнений проверки подвопросов (параметр em_validation_sq) состоит в том, что здесь, если вопрос (или его части) не проходит проверку, может быть показано сообщение об ошибке. При проверке подвопросов каждая ячейка ввода текста (например, в типе вопроса «массив», но это можно применять и к типам вопросов с одним полем ввода) выделяется (светло-)красным цветом фона.
Допустимые значения
- Любое уравнение, использующее синтаксис ExpressionScript, без окружающих фигурных скобок.
Пример
- Вы хотите собрать демографическую информацию о пользователях с помощью вопроса типа «Несколько коротких текстов» и проверить, что пользователь ввёл корректный адрес e-mail и номер телефона.
В этом примере показано, как выглядит вопрос при неверных ответах:

А так он выглядит при одном неверном ответе:

Вот как нужно редактировать вопрос, чтобы ввести эту информацию:

А это часть вывода файла логики, которая позволяет проверить правильность выражения и убедиться, что в нём нет синтаксических ошибок:

Как видите, уравнение проверки проверяет, что и адрес e-mail, и номер телефона либо пусты, либо соответствуют фильтру на основе регулярного выражения.
Подсказка по проверке показывает предупреждение только в том случае, если телефон или e-mail выглядят неверными.
Если вы хотите импортировать приведённый выше пример в свою установку LimeSurvey, скачайте следующий файл .lsq: Em_validation_q_example.zip.
Подсказка для уравнения проверки всего вопроса (em_validation_q_tip)
Описание
Если вы используете уравнение условия для проверки вопроса, то в этом поле можно указать необязательное сообщение, которое будет отображаться как подсказка к вопросу о том, как его нужно заполнить.
Допустимые значения
- Любая строка или уравнение, использующее синтаксис ExpressionScript.
Пример
См. пример в разделе вики Уравнение условия для проверки вопроса: он показывает, как можно настроить подсказку, чтобы она отображала, какие части вопроса типа «Несколько коротких текстов» не соответствуют критериям проверки.
Прочее
Вставить разрыв страницы в печатную версию (page_break)
Описание
Этот атрибут активен только при фактической печати опроса из печатной версии. Он принудительно вставляет разрыв страницы перед вопросом.
Доступные варианты
- Вкл.
- Выкл. (по умолчанию)
Статистика
Показывать график (display_chart)
Описание
Этот атрибут позволяет администратору опроса выбрать, нужно ли показывать участникам опроса график с результатами по вопросу после того, как они заполнят опрос.
- настройка опроса Публичная статистика в разделе Настройки внешнего вида и навигации
- настройка опроса Показать диаграммы в разделе Настройки внешнего вида и навигации
- атрибут вопроса «Публичная статистика» и
- атрибут вопроса «Показывать график».
Доступные варианты
- Вкл
- Выкл (по умолчанию)
Тип диаграмм (chart_type)
Описание
Этот атрибут позволяет администратору опроса выбрать, какой тип диаграммы будет показан респонденту после заполнения опроса.
Доступные варианты
- Столбчатая диаграмма
- Круговая диаграмма
- Радар
- Линия
- Полярная диаграмма
- Кольцевая диаграмма
Даты и ExpressionScript: расширенная проверка и вычисления
LimeSurvey (начиная с версии 2.05) позволяет легко проверять даты с помощью полей date_min и date_max (см. выше). Используйте их всегда, когда это возможно. Если вам требуется более сложная проверка, вы можете работать с датами (и выполнять вычисления) с помощью ExpressionScript и функции strtotime(). Она вычисляет количество секунд, прошедших с 1 января 1970 года до указанной даты.
Пример: если вы хотите отобразить в тексте вопроса количество дней, прошедших с даты отправления (указанной в предыдущем вопросе) до сегодняшнего дня, можно использовать выражение {(strtotime("now")-strtotime(departure))/60/60/24}.
Обратите внимание: strtotime() работает со многими форматами, но не со всеми! Например, формат даты LimeSurvey по умолчанию (MM-DD-YYYY) НЕ работает с strtotime(). Чтобы избежать проблем, настройте в опросе один из следующих форматов даты: YYYY-MM-DD, YYYY/MM/DD, DD.MM.YYYY, MM/DD/YYYY или DD-MM-YYYY.
