Welcome to the LimeSurvey Community Forum

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

Probleme bei der Datumseingabe

More
5 years 4 months ago #177938 by FOGS
Probleme bei der Datumseingabe was created by FOGS
Hallo zusammen,

ich habe ein Problem bei folgendem Datumsfeld:

Frage: Datum
Hilfetext:
Typ: Datum/Zeit
Pflichtangabe: Nein
Relevanz-Gleichung: 1
Anzeige als Klappboxen: 1
Stil der Monatsdarstellung: 2
LS Version 2.73.1+171220

Bei dieser Art der Eingabe hat man drei separate Klappenboxen, jeweils für Tag, Monat und Jahr.
Das Problem ist nun folgendes: Man kann beim Tag nicht über die Zifferntasten die 22 eingeben. Drückt man die Taste "2" zwei Mal, so wird als Tag der 21. eingegeben (und so weiter: drückt man "222" wird der 22. eingegeben). Durch mehrmaliges betätigen der Taste "2" geht man also durch die Zwanziger, bei der "1" geht man durch die Zehner. Daher vermute ich, dass das Absicht ist.

Da das für mich allerdings eine häufige Fehlerquelle darstellt und eine Eingabe über den Kalender nicht gewünscht ist, suche ich nach einer Lösung. Kann ich die Einstellungen vielleicht so ändern, dass man die 22 einfach eingeben kann?

Vielen Dank für eure Hilfe!
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
5 years 2 months ago #179764 by Joffm
Replied by Joffm on topic Probleme bei der Datumseingabe
Naja,
ich habe es reproduziert.
Wenn es denn der Kalender nicht sein soll, würde ich ganz simpel sagen:
Nimm eine Texteingabe und validiere sie auf "gültiges Datum".

Dazu habe ich dies gefunden (sehr sophisticated):
... but there is one that does in the same post. I modified it to take dd/mm/yyyy,dd-mm-yyyy or dd.mm.yyyy
^(?: (?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?: (?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2])\2))(?: (?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?: (?: (?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?: (?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?: (?:0?[1-9])|(?:1[0-2]))\4(?: (?:1[6-9]|[2-9]\d)?\d{2})$


Dann hast Du allerdings einen Text in der Form "dd.mm.YYYY" in der Datenbank stehen. Für die Weiterverarbeitung als Datum bietet sich natürlich "YYYY-MM-DD" an.
Ich denke aber, das kann man von den Respondenten verlangen.

Dazu sollte dies genügen:
^(19|20)[0-9]{2}[-](0[1-9]|1[012])[-](0[1-9]|[12][0-9]|3[01])$

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
Moderators: Joffm

Lime-years ahead

Online-surveys for every purse and purpose