Тип вопроса text собирает свободный текстовый ответ — любую последовательность символов. Это наиболее гибкий тип ввода, используемый для имён, адресов, описаний, кодов и всего, что не подходит под более конкретный тип.

rtSurvey также расширяет text виджетами ввода времени, позволяющими точный ввод времени с выбором из часов.

Базовая спецификация XLSForm

typenamelabel
textrespondent_nameПолное имя респондента
textaddressДомашний адрес

Дополнительную информацию о стандартном типе text XLSForm см. в спецификации XLSForm.

Применение

Текстовые вопросы используются для:

  1. Имён, адресов, свободных описаний
  2. Открытых комментариев или отзывов
  3. Кодов, идентификаторов или справочных номеров, не подходящих для integer/decimal
  4. Сбора значений времени с расширениями rtSurvey для ввода времени
  5. Полей автозаполнения текста (через search-autocomplete-noedit-v2())

Стандартные варианты внешнего вида

Внешний видОписание
(нет)Однострочное текстовое поле ввода
multilineМногострочное текстовое поле — лучше для более длинного свободного текста в веб

Расширения rtSurvey для ввода времени

rtSurvey расширяет text виджетом выбора времени для сбора значений времени. Эти варианты внешнего вида отображают значок часов, нажав который перечислитель выбирает часы, минуты, секунды или миллисекунды.

Варианты внешнего вида

Внешний видОписание
inlineЗначок часов отображается рядом с полем
inline colors("RRGGBB")Значок часов с пользовательским цветом hex
inline-1lineЧасы в компактном формате одной строки
inline-1line-RRGGBBОднострочный с пользовательским цветом значка (hex, без #)
inline-1line colors("RRGGBB","RRGGBB")Однострочный с двумя цветами
inline-onlyresultЗначок часов исчезает после выбора; отображается только значение
inline-onlyresult colors("RRGGBB")То же, с пользовательским цветом значка

Токены формата времени

Добавьте строку формата в скобках для управления отображаемыми компонентами времени:

Строка форматаОтображает
inline-[%H:%M]Часы и минуты (24-часовой формат)
inline-[%h:%M]Часы и минуты (12-часовой формат)
inline-[%H:%M:%S]Часы, минуты, секунды (24-часовой)
inline-[%h:%M:%S]Часы, минуты, секунды (12-часовой)
inline-[%H:%M:%3]Часы, минуты, миллисекунды
inline-[%M:%S]Только минуты и секунды
inline-[%M:%3]Только минуты и миллисекунды
inline-[%S]Только секунды
inline-[%3]Только миллисекунды
inline-[%H]Только часы (24-часовой)
inline-[%h]Только часы (12-часовой)

Пример: Запись продолжительности задачи в минутах и секундах

typenamelabelappearance
texttask_durationВремя, затраченное на выполнение задачиinline-[%M:%S]

Пример: Запись времени события в 24-часовом формате с пользовательским цветом

typenamelabelappearance
textevent_timeВремя событияinline-1line colors("0099FF")

Формат данных

Текстовые данные хранятся и экспортируются как обычная строка. Для ввода времени с использованием виджета часов значение хранится в формате, соответствующем выбранной строке формата (например, 14:32 для %H:%M).

Ограничения и валидация

Применяйте ограничения для соблюдения формата, длины или шаблона:

typenamelabelconstraintconstraint_message
textnameПолное имяstring-length(.) >= 2Имя должно содержать не менее 2 символов
textcodeСправочный кодregex(., '^[A-Z]{2}[0-9]{4}$')Введите 2 заглавные буквы и 4 цифры
textphoneНомер телефонаregex(., '^[0-9]{9,15}$')Введите действительный номер телефона

Лучшие практики

  1. Используйте более конкретные типы (integer, decimal, date) везде, где данные имеют известную структуру — это предотвращает недопустимые записи и упрощает анализ.
  2. Добавляйте constraint с string-length() или regex() для проверки кодов или идентификаторов.
  3. Используйте внешний вид multiline для открытых вопросов, где респонденты могут написать несколько предложений.
  4. При сборе данных о времени выбирайте токены формата, соответствующие точности, необходимой для анализа — сбор миллисекунд при необходимости только в минутах напрасно тратит усилия перечислителя.

Поддержка платформ

Тип вопроса text и все варианты внешнего вида для ввода времени поддерживаются на iOS, Android и веб-платформах.

Ограничения

  • Текстовые ответы имеют свободную форму — встроенной проверки орфографии или ограничения словаря (кроме шаблонов regex) нет.
  • Виджет inline для ввода времени является расширением rtSurvey и не является частью стандартной спецификации XLSForm.
Была ли эта страница полезной?