Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
de:create:functions:markfail [21.12.2014 22:41] – Ergänzung admin | de:create:functions:markfail [27.05.2021 07:03] – admin | ||
---|---|---|---|
Zeile 9: | Zeile 9: | ||
Die Verwendung von '' | Die Verwendung von '' | ||
- | ===== Beispiel 1 ===== | + | ===== Mindestens ein Feld ausgefüllt |
Im folgenden Beispiel wird auf Seite 1 des Fragebogens abgefragt, wie viele Stunden und Minuten eine Person pro Tag fernsieht, und zwar mit den offenen Texteingabefeldern " | Im folgenden Beispiel wird auf Seite 1 des Fragebogens abgefragt, wie viele Stunden und Minuten eine Person pro Tag fernsieht, und zwar mit den offenen Texteingabefeldern " | ||
Zeile 28: | Zeile 28: | ||
- | ===== Beispiel 2 ===== | + | ===== Mehrere Items prüfen |
Auch hier werden Stunden, Minuten und eine Residualoption abgefragt wie in Beispiel 1. Diesmal allerdings in einer kombinierten Frage für 10 verschiedene Medienangebote. Die Stunden werden in der ersten Spalte (Frage " | Auch hier werden Stunden, Minuten und eine Residualoption abgefragt wie in Beispiel 1. Diesmal allerdings in einer kombinierten Frage für 10 verschiedene Medienangebote. Die Stunden werden in der ersten Spalte (Frage " | ||
Zeile 38: | Zeile 38: | ||
$items = getItems(' | $items = getItems(' | ||
foreach ($items as $item) { | foreach ($items as $item) { | ||
- | $idH = ' | + | $idH = id('AC01', $item); |
- | $idM = ' | + | $idM = id('AC02', $item); |
- | $idX = ' | + | $idX = id('AC03', $item); |
if ((trim(value($idH)) == '' | if ((trim(value($idH)) == '' | ||
markFail($idH); | markFail($idH); | ||
Zeile 51: | Zeile 51: | ||
} | } | ||
</ | </ | ||
+ | |||
+ | |||
+ | ===== Unterschiedliche Feedback-Texte ===== | ||
+ | |||
+ | Mitunter sollen die Fehlermeldungen genauer auf die fehlenden Variablen angepasst werden. Der folgende PHP-Code demonstriert, | ||
+ | |||
+ | <code php> | ||
+ | // Variablen und zugehörige Fehlertexte | ||
+ | $checks = [ | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | // u.s.w. | ||
+ | ]; | ||
+ | |||
+ | // Alle Variabeln überprüfen, | ||
+ | $messages = []; | ||
+ | foreach ($checks as $variable => $text) { | ||
+ | $antwort = value($variable); | ||
+ | if ((trim($antwort) === '' | ||
+ | markFail($variable); | ||
+ | $messages[] = $text; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | // Ggf. Fehlermeldungen anzeigen und Seite wiederholen | ||
+ | if (count($missing) > 0) { | ||
+ | $messages = array_unique($messages); | ||
+ | html('< | ||
+ | foreach ($messages as $text) { | ||
+ | text($text, ' | ||
+ | } | ||
+ | html('</ | ||
+ | repeatPage(); | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Der PHP-Code besteht aus drei Teilen. Im ersten Teil werden in einem Array die zu prüfenden Variablen definiert und welche Fehlermeldung jeweils angezeigt werden soll, wenn die Variable nicht beantwortet wird. | ||
+ | |||
+ | Im zweiten Teil werden dann in einer FOR-Schleife alle Variablen einzeln geprüft. Das '' | ||
+ | |||
+ | Im dritten Teil wird dann geprüft, ob Meldungen im Array '' |