Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Zwei Eingabefelder mit unterschiedlichem Format hintereinander

  • psystudent20
  • psystudent20's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 10 months ago #200943 by psystudent20
Hallo,

ich nutze die LimeSurvey Version 3.22.11+200330.

Im Rahmen einer Studie möchte ich die IBAN von den Teilnehmern abfragen, um sie für Ihre Teilnahme vergüten zu können. Gibt es eine Möglichkeit in Limesurvey zwei Eingabefelder hintereinander zu schalten, in diesem Fall ein kurzes Texteingabefeld für den Ländercode (DE) und ein längeres für die Zahlenfolge?

Ich möchte durch diese Aufteilung bewirken, dass im ersten Feld wirklich nur Buchstaben geschrieben werden und im zweiten Feld wirklich nur Zahlen, um so schon einmal präventiv unsinnigen Antworteingaben vorzubeugen. Das ist mit einem einzelnen Feld leider nicht möglich.

Natürlich könnte ich zwei Antwortfelder untereinander schalten, aber ich möchte die IBAN auch nicht so auseinanderreißen...

Vielen Dank schon mal für die Unterstützung und viele Grüße!
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 10 months ago - 3 years 10 months ago #200947 by Joffm
Hallo,
dann reiße sie auch nicht auseinander.

Es gibt mehrere Möglichkeiten
  • Setze das "DE" schon als Vorgabe direkt vor das Eingabefeld und lasse nur Ziffern eingeben
  • Setze das "DE" als Vorgabeantwort in das Feld
  • Benutze das javascript snippet "inputmask" um die Struktur vorzugeben
    Hier könnte das "DE" natürlich auch schon vorgegeben sein

In den ersten beiden Fällen musst Du natürlich noch validieren, da der Teilnehmer die IBAN
  • sowohl mit Leerzeichen als auch ohne eingeben kann
  • es noch keine Validierung auf Ziffern gibt (wobei man die erste Lösung natürlich auch in einer Frage vom Typ "Zahleingabe" realisieren könnte; da würden dann Leerzeichen automatisch gelöscht, aber man müsste noch die rechtsbündige Eingabe unterbinden - es gibt hier irgendwo ein Workaround dazu)
Diese Validierung geht am einfachsten mit einer "Regular Expression".
Diese könnte in diesem Fall so aussehen:

regexMatch('/^[D][E][0-9]{2}\s?[0-9]{4}\s?[0-9]{4}\s?[0-9]{4}\s?[0-9]{4}\s?[0-9]{2}$/',Q1.NAOK)

Einige Ideen, wobei ich davon ausgegangen bin, dass Du nur "DE" IBANs hast wegen Deiner Aussage

kurzes Texteingabefeld für den Ländercode (DE)


Also, sag, was Du präferierst; dann sehen wir weiter.

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 3 years 10 months ago by Joffm.
The topic has been locked.
  • psystudent20
  • psystudent20's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 10 months ago #200959 by psystudent20
Vielen Dank für die schnelle Antwort und die vielen Optionen! Das sieht schon mal sehr vielversprechend aus, ich halte mal mit dem Team Rücksprache was für uns die beste Option ist und melde mich dann nochmal.
The topic has been locked.
  • psystudent20
  • psystudent20's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 10 months ago #201014 by psystudent20
Hallo Joffm,

wir werden das so mit der Regular Expression versuchen, vielen Dank.

Es ist zwar sehr wahrscheinlich, dass wir nur IBANS mit DE haben werden, aber 100% sicher können wir nicht sein. Deshalb meine Frage: Wie sähe die Möglichkeit aus, wenn man auch das Feld mit dem Ländercode als Eingabefeld vorgibt?

Viele Grüße!
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 10 months ago #201016 by Joffm
Na,ja, die Lösung mit der Regular Expression könnte z.B. nur testen, dass am Anfang zwei Großbuchstaben stehen anstatt des festen "DE".

Joffm

Ich schicke einmal ein Beispiel, aber etwas später.

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 10 months ago #201022 by Joffm
So,
hier also ein paar Beispiele.

File Attachment:

File Name: limesurvey...5696.lss
File Size:21 KB


Falls es natürlich IBANs gibt aus UK oder der Dominikanischen Republik (die einzigen, die ich gerade zur Hand habe) wie
GB54 NWBK 0123 4567 1234 55
DO71 BPDO 0000 0000 0004 1234 0987

wo also nicht - wie in Deutschland - die BLZ in der IBAN enthalten ist, sondern so etwas wie die BIC, wird es schwieriger.
Im Grunde kann man dann nur testen, ob am Anfanng "AAXX" steht.
Und wer eine falsche IBAN eingibt, ist eben selbst schuld.

Bis dann
Joffm

Vor längerer Zeit hatte einmal jemand einen Personalausweisnummern-Prüfer eingebaut - das geht ja über die Prüfziffer.
Man müsste überlegen, wie dies bei der IBAN geht.
Wäre dann aber wieder länderspezifisch - und ob sich der Aufwand lohnt ...?

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • psystudent20
  • psystudent20's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 10 months ago #201077 by psystudent20
Vielen Dank für die Antwort!

Was man alles bei der IBAN beachten muss... Wir haben uns jetzt darauf geeinigt, dass wir eine Filterfrage machen und abfragen, ob das Bankinstitut in Deutschland ist, dann kann man bei der Abfrage der IBAN die Regular Expression nutzen. Falls nicht, ein offenes Textfeld und hoffen, dass die Teilnehmer ihre IBAN richtig eingeben.

Also danke nochmal für die nützlichen Tipps!
The topic has been locked.
Moderators: Joffm

Lime-years ahead

Online-surveys for every purse and purpose