Nächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision |
de:create:checks-php [15.11.2018 10:28] – angelegt admin | de:create:checks-php [19.03.2022 16:32] – admin |
---|
Eine Fehlermeldung können Sie anzeigen, wenn Sie als Argument in der Funktion ''repeatPage()'' die Kennung eines Textbausteins eintragen (s. unten). Alternativ können Sie auch einen entsprechenden Textbaustein mittels [[:de:create:functions:text|text()]] anzeigen. Für die zweite Variante wählen Sie beim Anlegen des Textbausteins aus, dass der Text im Stil einer //Warnung// angezeigt wird -- dann erhält er dieselbe Formatierung wie die Standard-Fehlermeldungen. | Eine Fehlermeldung können Sie anzeigen, wenn Sie als Argument in der Funktion ''repeatPage()'' die Kennung eines Textbausteins eintragen (s. unten). Alternativ können Sie auch einen entsprechenden Textbaustein mittels [[:de:create:functions:text|text()]] anzeigen. Für die zweite Variante wählen Sie beim Anlegen des Textbausteins aus, dass der Text im Stil einer //Warnung// angezeigt wird -- dann erhält er dieselbe Formatierung wie die Standard-Fehlermeldungen. |
| |
| Im folgenden finden Sie einige Anwendungsbeispiele für individuelle Antwortprüfungen inklusive dem erforderlichen PHP-Code. |
| |
===== Beispiel: Mehrfachauswahl-Matrix ===== | |
| |
In einer gewöhnlichen Skala kann man einfach überprüfen lassen, ob der Teilnehmer in jeder Zeile eine Option markiert hat. Wenn man aber eine [[:de:create:combine|kombinierte Frage]] verwendet, welche dem Teilnehmer mehrere Kruezchen pro Zeile erlaubt (Mehrfachauswahl-Matrix), dann benötigt man ein wenig PHP-Code zur Überprüfung, ob wirklich in jeder Zeile etwas ausgewählt wurde. | ===== Mehrfachauswahl-Matrix ===== |
| |
| In einer gewöhnlichen Skala kann man einfach überprüfen lassen, ob der Teilnehmer in jeder Zeile eine Option markiert hat. Wenn man aber eine [[:de:create:combine|kombinierte Frage]] verwendet, welche dem Teilnehmer mehrere Kreuzchen pro Zeile erlaubt (Mehrfachauswahl-Matrix), dann benötigt man ein wenig PHP-Code zur Überprüfung, ob wirklich in jeder Zeile etwas ausgewählt wurde. |
| |
Das folgende Beispiel geht davon aus, dass 4 Mehrfachauswahl-Fragen ("MA01" bis "MA04") mit jeweils 10 Items zu einer Mehrfach-Auswahlmatrix kombiniert wurden. Falls in einer Zeile kein Kreuzchen gesetzt wurde, soll diese hervorgehoben werden und es soll der Text "MA05" als Fehlermeldung angezeigt werden. | Das folgende Beispiel geht davon aus, dass 4 Mehrfachauswahl-Fragen ("MA01" bis "MA04") mit jeweils 10 Items zu einer Mehrfach-Auswahlmatrix kombiniert wurden. Falls in einer Zeile kein Kreuzchen gesetzt wurde, soll diese hervorgehoben werden und es soll der Text "MA05" als Fehlermeldung angezeigt werden. |
| |
| |
===== Beispiel: Alle Items oder gar keines ===== | ===== Alle Items oder gar keines ===== |
| |
Der folgende PHP-Code überprüft, ob in einer Skala alle Items beantwortet wurden -- oder gar keines. Die Kennung der Frage (im Beispiel ''AB01'') muss entsprechend der tatsächlichen Frage-Kennung geändert werden, die Fehlermeldung muss als Textbaustein abgespeichert werden. Sofern die Kennung dieses Textbausteins nicht "error_AB01" lautet, muss auch diese Kennung angepasst werden. | Der folgende PHP-Code überprüft, ob in einer Skala alle Items beantwortet wurden -- oder gar keines. Die Kennung der Frage (im Beispiel ''AB01'') muss entsprechend der tatsächlichen Frage-Kennung geändert werden, die Fehlermeldung muss als Textbaustein abgespeichert werden. Sofern die Kennung dieses Textbausteins nicht "error_AB01" lautet, muss auch diese Kennung angepasst werden. |
if ((count($answered) > 0) and (count($answered) < count($items))) { | if ((count($answered) > 0) and (count($answered) < count($items))) { |
repeatPage('error_AB01'); | repeatPage('error_AB01'); |
| } |
| </code> |
| |
| |
| ===== Konsistenzprüfung Texteingabe ===== |
| |
| Bei offenen Texteingaben kann eingestellt werden, dass sie nur Zahlen akzeptieren ([[:de:create:checks#eingabe_von_nummern|Antworten prüfen: Eingabe von Nummern]]). Im folgenden soll überprüft werden, ob in drei Eingabefeldern konsistente Werte eingetragen wurden. |
| |
| * TX01_01 -- Anzahl von Personen im Unternehmen |
| * TY02_01 -- Anzahl von Führungskräften im Unternehmen |
| * TY02_02 -- Anzahl von Mitarbeiter:innen, die kurz vor dem Ruhestand stehen |
| |
| Es soll nun sichergestellt werden, dass die Werte bei TY02_01 und TY02_02 jeweils nicht höher sind als die Gesamtanzahl der Mitarbeiter:innen (TX01_01). Falls doch, soll der Text mit Kennung TX02 als Fehlermeldung angezeigt werden. |
| |
| Die mittels ''value()'' abgerufenen Werte können dafür einfach mittels kleiner-als (''<'') oder größer-als (''>'') Operator verglichen werden. Das logische Oder (''||'') prüft, ob mindestens eine der beiden Voraussetzungen verletzt ist. |
| |
| <code php> |
| if ( |
| (value('TY02_01') > value('TX01_01')) || |
| (value('TY02_02') > value('TX01_01')) |
| ) { |
| repeatPage('TX02'); |
} | } |
</code> | </code> |