Probleme bei der Datumseingabe

More
7 months 2 weeks ago #177938 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!

Please Log in or Create an account to join the conversation.

LimeSurvey Partners
More
5 months 3 weeks ago #179764 by Joffm
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

Please Log in or Create an account to join the conversation.

Start now!

Just create your account and start using Limesurvey today.

Register now
Join our Newsletter!