0 votes
in SoSci Survey (dt.) by s097485 (160 points)

Hallo,

wie kann ich bei einer offenen Texteingabe einstellen, dass mindestens 3 Wörter geschrieben werden müssen, um weiter zu kommen? Benötige ich dafür einen bestimmten Code?

Danke!

1 Answer

0 votes
by SoSci Survey (302k points)
edited by SoSci Survey

Dies können Sie mit einer individuellen Antwortprüfung realisieren.

Wenn Sie ein Wort z.B. definieren als mindestens 3 Zeichen, dann würden Sie folgenden Filter verwenden:

if (preg_match_all('/\\w{3,}/', value('AB01_01')) < 3) {
  repeatPage();
}

Das \w steht für einen Buchstaben, das {3,} sagt, dass es min. drei Buchstaben sein müssen, die da stehen sollen. Und dann sucht preg_match_all(), wie viele dieser "Dinger" es findet.

by s097485 (160 points)
Vielen Dank, leider bekomme ich immer wieder diese Fehlermeldung:

Fehler im Fragebogen: preg_match_all() expects at least 2 parameters, 1 given
Zeile: 5

PHP-Code

002 $items = getItems('SA01');
003
004 $answered = getItems('SA01', '>', 3);
005 if (preg_match_all('/\\w{3,}/') < 3) {
006   {
007   repeatPage();
008   return 'repeat';

Was mache ich falsch?
by SoSci Survey (302k points)
Pardon, natürlich muss man noch angeben, wo gezählt werden soll. Ich habe dafür oben in der Antwort noch ein value() ergänzt. Den Namen der Variable (im Beispiel AB01_01) müssen Sie an Ihren Fragebogen anpassen.
by s097485 (160 points)
Danke, es hat funktioniert!!

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...