Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
de:create:checks [05.05.2015 13:01]
admin [Individuelle Antwort-Prüfung]
de:create:checks [15.11.2018 10:28] (aktuell)
admin Auslagerung der individuellen Antwort-Prüfung nach checks-php
Zeile 72: Zeile 72:
 ===== Individuelle Antwort-Prüfung ===== ===== Individuelle Antwort-Prüfung =====
  
-Falls die vordefinierten Überprüfungen einmal nicht ausreichen, kann man mittels Filter und der Funktion [[:de:create:functions:repeatpage|repeatPage()]] eine individuelle Antwort-Prüfung programmieren.+Falls die vordefinierten Überprüfungen einmal nicht ausreichen, kann man mittels [[:de:create:php-filters|PHP-Filter]] und der Funktion [[:de:create:functions:repeatpage|repeatPage()]] eine individuelle Antwort-Prüfung programmieren.
  
-Der PHP-Code zur Prüfung der Antwort muss auf der Seite __nach__ der Frage ganz oben platziert werden. Wenn also die zu prüfende Frage auf Seite 2 gestellt wird, dann muss der PHP-Code zur Prüfung auf Seite 3 ganz oben stehen. +Eine detaillierte Erklärung und Beispiele finden Sie in der Anleitung [[:de:create:checks-php]].
- +
-**Tipp:** Weitere Details zur Programmierung von Filtern finden Sie unter [[:de:create:filters|Filterfragen und Filter]]. +
- +
-**Tipp:** Verwenden Sie die Funktion ''[[:de:create:functions:markfail|markFail()]]'', um Eingabefelder mit fehlerhaften Angaben zu markieren. +
- +
-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()]] anzeigenFü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. +
- +
- +
-==== Beispiel: 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. +
- +
-<code php> +
-// Eine Liste aller Items in der Frage erstellen +
-$items = getItems('AB01'); +
-// Ermitteln der beantworteten Items +
-$answered = getItems('AB01', '>', 0); +
-// Fehler und zurück, falls nicht alle oder keines beantwortet wurden +
-if ((count($answered) > 0) and (count($answered) < count($items))) { +
-  repeatPage('error_AB01'); +
-+
-</code>+
  
  
de/create/checks.txt · Zuletzt geändert: 15.11.2018 10:28 von admin
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki