Hallo,
gut, die Validierung muss ja etwas anders aussehen.
Wenn Du Zahlen bzw. Geldbeträge erzwingen willst, muss Du die entsprechenden Funktionen benutzen "!is_empty()" reicht nicht.
Du kannst für ganze Zahlen z.B. "is_int()" benutzen, für Dezimalzahlen "is_float()".
Würde z.B. hiermit funktionieren (Geldbetrag als Dezimalzahl; achte darauf, das Komma als Dezimaltrenner einzustellen)
(A1_2!="Y" OR (A1_2=="Y" AND is_int(A1_2comment))) and (A1_3!="Y" OR (A1_3=="Y" AND is_float(A1_3comment))) and (A1_4!="Y" OR (A1_4=="Y" AND is_int(A1_4comment))) and (A1_5!="Y" OR (A1_5=="Y" AND !is_empty(A1_5comment)))
Hier solltest Du aber die erscheinende Fehlermeldung "dynamischer" gestalten.
Vielleicht:
Wenn irgendwo ein Kästchen angekreuzt wurde, aber noch kein Wert, etwas wie "Bitte, tragen Sie den Wert ein!"
Und wenn der Wert hinten nicht den Kriterien entspricht, eben "Bitte, geben Sie nur Zahlen ein"
{if(count(self.sq_2.NAOK)==1 OR count(self.sq_3.NAOK)==1 OR count(self.sq_4.NAOK)==1 OR count(self.sq_5.NAOK)==1,'Bitte, tragen Sie in beide Felder etwas ein',if((!is_empty(A1_2) and !is_int(A1_2comment)) OR (!is_empty(A1_3) and !is_float(A1_3comment)) OR (!is_empty(A1_4) and !is_int(A1_4comment)),'Bitte, geben Sie nur Zahlen ein',''))}
Oder Du benutzt "regexMatch(pattern,QCode)" mit der entsprechenden Regular Expression. Damit kannst Du dann ganz fein steuern, was eingegeben werden kann.
Aber was ist denn mit der Teilfrage "Sonstiges"?
In Deiner lss ist es doch eine ganz normale Teilfrage. Wo soll der Teilnehmer etwas benennen?
Dann ist aber "'Anderes:' Kommentarfeld ist Pflichtfeld" eingeschaltet, was ein Weiterkommen unmöglich macht.
Soll dies doch die "normale "Sonstige"-Funktion sein, oder willst Du es so lassen und dann im Fall der Falle darunter ein Textfeld einblenden?
Zu den Suffixen:
Das hast Du eigentlich schon.
Du musst nur die "comment-items" durchnummerieren.
Code:
// Insert comment suffix
$('#question{QID} .comment-item:eq(1)').append('<span class="comment-suffix">Jahre</span>');
$('#question{QID} .comment-item:eq(2)').append('<span class="comment-suffix">Euro</span>');
$('#question{QID} .comment-item:eq(3)').append('<span class="comment-suffix">Jahre</span>');
Bis dann
Joffm