Question type - Date/de: Difference between revisions
From LimeSurvey Manual
(Created page with "=Datumsangaben und Expression Manager: Erweiterte Validierung und Berechnung=") |
(Created page with "Limesurvey macht es relativ einfach, Daten mit den Feldern date_min und date_max zu validieren (siehe oben). Benutzen Sie diese wann immer möglich. Wenn Sie mehr Lust haben,...") |
||
Line 45: | Line 45: | ||
=Datumsangaben und Expression Manager: Erweiterte Validierung und Berechnung= | =Datumsangaben und Expression Manager: Erweiterte Validierung und Berechnung= | ||
Limesurvey | Limesurvey macht es relativ einfach, Daten mit den Feldern date_min und date_max zu validieren (siehe oben). Benutzen Sie diese wann immer möglich. Wenn Sie mehr Lust haben, können Sie mit dem Expression Manager und der Funktion strtotime () mit Datumsangaben arbeiten (und rechnen). Es berechnet die Anzahl der Sekunden vom 1. Januar 1970 bis zu einem bestimmten Datum. Beispiel: Wenn Sie in einem Fragetext die Anzahl der Tage anzeigen möchten, die seit einem Abreisedatum (in einer vorherigen Frage abgefragt) und heute vergangen sind, können Sie den Ausdruck {(strtotime("now")-strtotime(departure))/60/60/24} verwenden. | ||
Bitte beachten Sie, dass strtotime() mit vielen verschiedenen, aber nicht ALLEN Datumsformaten arbeitet. Das Standarddatumsformat von Limesurvey (MM-DDD-YYYYY) funktioniert NICHT mit strtotime(). Um Probleme zu vermeiden, stellen Sie bitte Ihre Umfrage auf eines der folgenden Datumsformate ein: YYYY-MM-DD, YYYY/MM/DD, DD.MM.YYYY, MM/DD/YYYY, DD-MM-YYYY. | |||
{{Alert||text=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?")}} | {{Alert||text=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?")}} |
Revision as of 08:44, 19 September 2017
Kurzbeschreibung
Mit diesem Fragetyp kann ein Datum, eine Uhrzeit oder eine Kombination von Datum und Uhrzeit erhoben werden. Datum und Uhrzeit können direkt eingegeben werden, aus einem Popup-Kalender oder aus Drop-Down-Boxen ausgewählt werden. Zur Validierung können Minimal- und Maximaldaten festgelegt werden. Verschiedene Datums-und Zeitformate werden unterstützt. Einige Funktionen sind erst ab LimeSurvey Version 2.05+ verfügbar.
Basis-Einstellungen
Pflichtangabe
Beschreibung:
Mit dieser Option wird festgelegt, ob eine bestimmte Frage von Umfrageteilnehmern zum Fortfahren beantwortet werden muss. Müssen nur bestimmte Unterfragen beantwortet werden, verwenden Sie das Attribut minimale Antwort in der Registerkarte Logik (nur bei Matrix- oder Mehrfachauswahlfragen).
Verfügbare Optionen:
- An – Die Frage muss beantwortet werden, bevor der Teilnehmer zur nächsten Seite gehen kann – die Antwortoption „Keine Antwort“ wird nie angezeigt.
- Weich – Wenn die Frage nicht beantwortet wird, wird eine Warnung angezeigt, wenn versucht wird, zur nächsten Seite zu gelangen – der Teilnehmer kann die Warnung jedoch ignorieren und fortfahren. Beachten Sie, dass die Option „Keine Antwort“ weiterhin angezeigt wird (falls in den Einstellungen der Umfragepräsentation aktiviert)
- Aus (Standard) – Frage kann unbeantwortet bleiben
Bedingung (früher „Relevanzgleichung“)
Beschreibung:
Ist der Ergebniswert der Bedingung „1“ oder „wahr“, ist die Frage im Umfragekontext „relevant“, wird also dem Umfrageteilnehmer angezeigt. Wenn nicht, wird die Frage ausgeblendet. Für jede Umfragefrage können Sie eine Relevanzgleichung angeben. Diese Funktion ist der Nachfolger von conditions und unterstützt eine wesentlich komplexere bedingte Logik.
Syntax-Hervorhebung:
Wenn Sie die Bedingung speichern, wird sie ausgewertet und syntaktisch hervorgehoben. Eventuelle Fehler werden farblich gekennzeichnet, sodass Sie sie schnell erkennen und beheben können.
Gültige Werte:
- Jede Bedingung, die die Syntax ExpressionScript ohne umgebende geschweifte Klammern verwendet.
Beispiel
Hier finden Sie Beispiele für die Syntax-Hervorhebung (derzeit nur auf Englisch).
Erweiterte Einstellungen
Umgekehrte Antwortreihenfolge (reverse)
Beschreibung
Bei Aktivierung wird die Reihenfolge der Antworten umgekehrt.
Verfügbare Optionen
- An
- Aus (Standard)
Beispiel
Nehmen wir an, Sie möchten den Fragetyp „Array (Zahlen)“ verwenden. Wenn diese Option deaktiviert ist (Standardwert), kann ein Umfrageteilnehmer folgende Antwortmöglichkeiten auswählen: „1, 2, 3, ..., 10“. Wenn diese Einstellung aktiviert ist, wird die Reihenfolge der verfügbaren Antworten umgekehrt: „10, 9, 8, ... , 1“.
Randomisierungsgruppenname (random_group)
Beschreibung
Dabei werden die Fragen in eine bestimmte Zufallsgruppe eingeteilt, wobei den Umfrageteilnehmern alle in der angegebenen Gruppe enthaltenen Fragen in zufälliger Reihenfolge angezeigt werden.
Eine Beispielumfrage mit dem Namen der Randomisierungsgruppe finden Sie in ExpressionScript-Beispielumfrage.
Gültige Werte
Geben Sie einfach eine beliebige Zeichenfolge ein (zum Beispiel: „Gruppe1“). Alle Fragen, die im Feld „Randomisierungsgruppenname“ die gleiche Zeichenfolge festgelegt haben, erhalten ihren Platz in der Umfrage randomisiert (=zufällig untereinander ausgetauscht).
Vorschau
Um eine Vorschau der Fragen anzuzeigen, verwenden Sie die Funktion „Umfragevorschau“ anstelle der Funktion „Fragengruppenvorschau“, da bei der zweiten Funktion Berichten zufolge die Fragen nicht in zufälliger Reihenfolge angezeigt werden.
Anzeige als Klappboxen (Dropdownfelder)
Beschreibung
Wenn diese Option aktiviert ist, zeigt der Fragetyp „Datum/Uhrzeit“ den Befragten anstelle des Standard-Popups ein Dropdown-Feld an, in dem sie Datum/Uhrzeit auswählen können.
Verfügbare Optionen
- Ja
- Nein (Standard)
Beispiel
Wenn es aktiviert ist, wird die Frage wie folgt angezeigt:
Beschreibung
Wenn diese Option aktiviert ist, wird die Frage immer ausgeblendet und den Umfrageteilnehmern nicht angezeigt. Diese Funktion kann in folgenden Szenarien verwendet werden:
- Wenn Sie eine Frage mit einer URL vorfüllen möchten und diese nicht auf dem Bildschirm angezeigt werden soll. Dies überschreibt alle in der Umfrage verwendeten Bedingungen, da die jeweilige Frage nicht einmal in die Seite eingebettet wird.
- Wenn Sie einen Wert im laufenden Betrieb über das Expressionscript speichern oder berechnen möchten.
Verfügbare Optionen
- Ein
- Aus (Standard)
Mindestdatum (date_min)
Beschreibung
Dieses Fragenattribut kann verwendet werden, um den Mindestwert für eine Datumsfrage festzulegen (im j-m-t Format oder einer beliebigen gültigen englischen Zeichenfolge - siehe unten für weitere Details). Es kann sowohl für Popup- als auch für Dropdown-Anzeigeoptionen verwendet werden. Wenn kein Mindestdatum festgelegt ist, wird 1.1.1900 als Standard verwendet.
Gültige Werte
- Beliebiger Datumswert im Format JJJJ-MM-TT (z. B. 24.08.2017);
- Beliebiger Jahreswert
- Beliebige Englishe Ausdrücke: " now "," -10 years ","tomorrow"
- Verweis auf eine andere Datums- / Zeitfrage: AnotherDateQuestion (unter Verwendung des Fragencodes)
- Ausdrücke: Mit Ausdrücken kann ein Mindestdatum dynamisch berechnet werden. Sie können beispielsweise ein Datum aus einer vorherigen Antwort + mindestens 3 Tage für die aktuelle Frage verwenden, indem Sie folgendes eingeben: Date("Y-m-d", strtotime (departuredate) + 3*60*60*24)"
Maximales Datum (date_max)
Beschreibung
Dieses Frageattribut kann verwendet werden, um den Maximalwert für die Datumsfrage festzulegen (im YMD-Format oder einer anderen gültigen englischen Zeichenfolge – weitere Optionen finden Sie unten). Es kann sowohl für Popup- als auch für Dropdown-Anzeigeoptionen verwendet werden.
Gültige Werte
- Beliebiger Datumswert im Format „JJJJ-MM-TT“ (z. B. „24.08.2018“);
- Beliebiger Jahreswert;
- Beliebige englische Zeichenfolge: „now“, „-10 Jahre“, „morgen“;
- Verweis auf eine andere Datums-/Uhrzeitfrage: AnotherDateQuestion (unter Verwendung des Fragecodes);
- Ausdrücke: Mit Ausdrücken kann ein Datum dynamisch berechnet werden. Sie können beispielsweise ein Datum aus einer vorherigen Antwort + 3 Tage als maximales Datum für die aktuelle Frage verwenden, indem Sie Folgendes eingeben: date("Ymd",strtotime(departuredate)+3*60*60*24).
Datum/Zeit-Format
Beschreibung
Dieses Fragetattribut kann dafür verwendet werden ein spezielles Datums-Anzeigeformat anzugeben. Wenn dies leer gelassen wird, wird das Standard-Umfrageformat genutzt.
Gültige Werte
- Die Formate d/dd,m/mm,yy/yyyyy,H/HH,M/MMM können zur Anzeige von Datum und/oder Uhrzeit verwendet werden, während "-", ".", "/", ":" als Trennzeichen verwendet werden können.
Beispiele
- yyyyy-mm-dd - Jahr-Monat-Tag;
- dd.mm.yyyyy HH:MM - Tag.Monat.Jahr Stunde:Minute;
- HH:MM - Stunde:Minute (nur die Uhrzeit kann ausgewählt werden);
- yyyy/mm - Jahr/Monat.
Fragenvalidierungsgleichung (em_validation_q)
Beschreibung
Dies ist eine Gleichung, die verwendet wird, um die gesamte Frage zu validieren (z. B. alle ihre Teile zusammen für eine Frage mit mehreren Antworten). Wenn die Frage die Validierungskriterien nicht erfüllt, wird die Meldung em_validation_q_tip angezeigt (sie verwendet den CSS-Stil .error). Dieser Tipp verwendet den CSS-Stil .em_q_fn_validation, der standardmäßig in template.css ausgeblendet ist.
Der Hauptunterschied zwischen dieser Funktion und den Validierungsgleichungen für Unterfragen (em_validation_sq-Option) besteht darin, dass bei dieser Funktion eine Fehlermeldung angezeigt werden kann, wenn die Validierung der Frage (oder der Fragenteile) fehlschlägt. Für die Unterfragevalidierung wird jede Texteingabezelle (z. B. in einem Array-Fragentyp, kann aber auch auf Einzeleingabe-Fragetypen angewendet werden) so gestaltet, dass die Hintergrundfarbe (hell)rot ist.
Gültige Werte
- Jede Gleichung, die die Syntax ExpressionScript ohne umgebende geschweifte Klammern verwendet.
Beispiel
- Sie möchten über eine Frage mit mehreren kurzen Texten demografische Informationen von Benutzern sammeln und überprüfen, ob der Benutzer eine gültige E-Mail-Adresse und Telefonnummer eingegeben hat.
Dieses Beispiel zeigt, wie die Frage mit ungültigen Antworten aussieht:
Und so sieht es mit einer ungültigen Antwort aus:
So bearbeiten Sie eine Frage, um diese Informationen einzugeben:
Und hier ist ein Teil der Ausgabe von Show Logic File, mit der Sie die Genauigkeit Ihres Ausdrucks überprüfen und sicherstellen können, dass keine Syntaxfehler vorliegen:
Wie Sie sehen können, testet die Validierungsgleichung, ob sowohl die E-Mail-Adresse als auch die Telefonnummer entweder leer sind oder einem regulären Ausdrucksfilter entsprechen.
Der Validierungstipp zeigt die Warnmeldung nur an, wenn die Telefonnummer oder E-Mail ungültig erscheint.
Wenn Sie das obige Beispiel in Ihre LimeSurvey-Installation importieren möchten, laden Sie die folgende .lsq-Datei herunter: Em_validation_q_example.zip.
Validierungshinweis für die gesamte Frage
Beschreibung
Wenn Sie die Fragevalidierungsgleichung verwenden, können Sie dieses Feld verwenden, um eine optionale Nachricht als Frage-Tipp anzuzeigen, wie die Frage ausgefüllt werden muss.
Gültige Werte
- Jede Zeichenfolge oder Gleichung, die die ExpressionScript Syntax verwendet.
Beispiel
Siehe das Beispiel aus dem Fragenvalidierungsgleichung Wiki-Abschnitt – er zeigt, wie der Tipp angepasst werden kann, um zu zeigen, welche Teile einer Frage mit mehreren kurzen Texten die Validierungskriterien nicht erfüllen.
Unterfrage-Validierungsgleichung (em_validation_sq)
Beschreibung
Dies ist eine Gleichung, die verwendet wird, um jede Unterfrage (Textfeld) einzeln zu validieren. Bei jedem Textfeld, das diese Validierungsbedingungen nicht erfüllt, wird die Hintergrundfarbe rosa geändert (unter Verwendung des CSS-Stils .em_sq_fn_validation), um den Fehler hervorzuheben. Beachten Sie, dass dies zusätzlich zur auf regulären Ausdrücken basierenden Validierungsoption verfügbar ist.
Gültige Werte
Jede Gleichung, die die Syntax ExpressionScript ohne umgebende geschweifte Klammern verwendet.
Beispiele
Wenn Sie beispielsweise nur Zahlen als Antworten zulassen möchten, die ein Vielfaches von 3 sind, würde die Gleichung wie folgt aussehen:
(dieses / 3) == Boden(dieses/3)
Die reservierte Variable this wird automatisch durch einen Verweis auf die aktive Texteingabezelle ersetzt.
Hinweis für die Validierungsgleichung für Teilfragen
Beschreibung
Wenn Sie Validierung von Teilfragen verwenden, ist dies eine optionale Nachricht / ein optionaler Hinweis, der angezeigt wird, wenn die eingegebene Antwort falsch ist.
Gültige Werte
- Irgendeine Zeichenkette
Beispiel
- Wenn Sie das Beispiel zur Validierung von E-Mails nehmen, lautet der Tipp möglicherweise "Bitte geben Sie eine gültige E-Mail-Adresse ein."
Einfügen eines Seitenumbruchs in der Druckansicht
Beschreibung
Dieses Attribut ist nur aktiv, wenn Sie tatsächlich eine Umfrage aus der druckbaren Ansicht drucken. Es erzwingt einen Seitenumbruch vor der Frage.
Verfügbare Optionen
- An
- Aus (Standardwert)
Datumsangaben und Expression Manager: Erweiterte Validierung und Berechnung
Limesurvey macht es relativ einfach, Daten mit den Feldern date_min und date_max zu validieren (siehe oben). Benutzen Sie diese wann immer möglich. Wenn Sie mehr Lust haben, können Sie mit dem Expression Manager und der Funktion strtotime () mit Datumsangaben arbeiten (und rechnen). Es berechnet die Anzahl der Sekunden vom 1. Januar 1970 bis zu einem bestimmten Datum. Beispiel: Wenn Sie in einem Fragetext die Anzahl der Tage anzeigen möchten, die seit einem Abreisedatum (in einer vorherigen Frage abgefragt) und heute vergangen sind, können Sie den Ausdruck {(strtotime("now")-strtotime(departure))/60/60/24} verwenden. Bitte beachten Sie, dass strtotime() mit vielen verschiedenen, aber nicht ALLEN Datumsformaten arbeitet. Das Standarddatumsformat von Limesurvey (MM-DDD-YYYYY) funktioniert NICHT mit strtotime(). Um Probleme zu vermeiden, stellen Sie bitte Ihre Umfrage auf eines der folgenden Datumsformate ein: YYYY-MM-DD, YYYY/MM/DD, DD.MM.YYYY, MM/DD/YYYY, DD-MM-YYYY.