it-swarm.com.de

Feinheiten der Datumsauswahl: Geben Sie das Jahr mit den Zifferntasten ein

Wir entwickeln eine Datumsauswahl und sind auf ein Problem im Zusammenhang mit der Interpretation von Benutzereingaben gestoßen.

Angenommen, Sie haben eine Datumsauswahl wie in der Abbildung unten und der Benutzer soll das Jahr ändern mit den Zifferntasten.

enter image description here

Offensichtlich ist ein Jahr (bis in die ferne Zukunft) vierstellig. Viele Benutzer sind jedoch an eine solche Prozedur mit den Zifferntasten gewöhnt:

"tt" [tab] "mm" [tab] "yy" [tab/verlassen]

Das heißt, Sie geben nur 2 Ziffern ein, um das Jahr anzuzeigen. Meine Frage lautet also:

  • Was ist das vernünftigste Verhalten, um ein solches Szenario zu berücksichtigen?

Unser vorläufiger Ansatz lautet:

  • 00 <= "yy" <= 29 bedeutet 2000 (untere Grenze) und 2029 (obere Grenze)
  • 30 <= "yy" <= 99 bedeutet 1930 (untere Grenze) und 1999 (obere Grenze)

Was aber, wenn der Benutzer "yyy" eingibt und das Eingabefeld verlässt - wie soll das interpretiert werden?

In diesem Fall ändert unser Ansatz nichts, bis eine vierte Ziffer eingegeben wird. Das ist:

  • "1" -> 2001
  • "9" -> 2019
  • "7" -> 2019
  • "8" -> 1978

Wenn eine fünfte Ziffer eingegeben wird, beginnt der Vorgang von vorne gemäß den Regeln, die in der obersten ungeordneten Liste oben beschrieben sind.

Alle Gedanken dazu werden geschätzt.

3
agib

Aus meiner Sicht gibt es mehrere potenzielle Probleme mit diesem System

  • wenn ich 1920 eingeben und das zweistellige Format verwenden möchte, wird davon ausgegangen, dass es 2020 statt 1920 ist
  • in der aktuellen Form ist es nicht eindeutig, was tatsächlich gespeichert wird
  • wenn ich versehentlich 20111 eingebe, wird das Jahr zurückgesetzt und ich muss erneut beginnen

Vielleicht können Sie entweder "XXXX" oder das aktuelle Jahr verwenden, um eine Vorstellung vom erwarteten Format zu bekommen.

Dies ist etwas außerhalb des Geltungsbereichs, aber Sie können dem Benutzer einen freundlichen Hinweis geben, wenn das Datum außerhalb eines ausreichend großen Bereichs (etwa [01/01/1900 - 01/01/2100]) für die ehrlichen Fehler liegt. Es ist wichtig, nicht einzuschränken, was der Benutzer in das Feld eingibt. Wenn er das richtige Datum eingeben möchte, wird er versuchen, das System zu spielen, um zu dem zu gelangen, was sich nach dem Senden-Button befindet.

2
Liviu A

Eine Datumsauswahl sollte nur ein Textfeld sein. Lassen Sie es hinter den Kulissen funktionieren, um das tatsächliche Datumsobjekt mithilfe der Standard-Datumsformate Ihrer (oder Ihres Systems) aktuellen Kultur zu bestimmen (falls erforderlich). Wenn Sie eine Art GUI-Element haben möchten, mit dem sie das Datum mit der Maus auswählen können, verwenden Sie dazu die progressive Verbesserung.

Ich würde Ihnen stark widersprechen, dass viele Benutzer an das "Verfahren" zur Eingabe des von Ihnen genannten Datums gewöhnt sind. Meistens sehe ich nur ein Textfeld mit dem kleinen Symbol, um ein Kalendersteuerelement aufzurufen. Das führt tatsächlich zu der Frage, warum Sie eine Datumsauswahlsteuerung entwickeln. Verwenden Sie eines der zahlreichen Steuerelemente für die Datumsauswahl, die Ihnen bereits zur Verfügung stehen.

Was den Teil zum Umgang mit zweistelligen Jahren betrifft, würde ich sagen, dass es ziemlich sicher ist anzunehmen, dass nur noch sehr wenige Menschen zweistellige Jahre eingeben. Und wenn ja, würde ich auch sagen, dass es wahrscheinlich in Ordnung ist, an dieser Stelle nur 20XX als Ihre Annahme zu verwenden, es sei denn, Sie sprechen über das Jahr, in dem die Person geboren wurde. In dieser Situation würde ich jederzeit ein vierstelliges Jahr durchsetzen.

2
Charles Boyung

Tatsächlich bin ich mir ziemlich sicher, dass Leute, die tatsächlich regelmäßig Daten eingeben (wie oft am Tag in ihrem Job), immer noch sehr an das zweistellige Format gewöhnt sind. Ich denke, es ist wichtig, wie oft die Leute die Eingabe verwenden müssen. Wenn dies pro Benutzer einmal oder sehr begrenzt ist, können Sie restriktiver sein. Wenn dies auf Fachleute abzielt, die das Formular mehrmals am Tag bearbeiten, arbeiten Sie mit ihnen und nicht gegen sie.

Ich denke, Ihre Lösung kann sehr gut funktionieren, wenn Sie sofort Feedback zum aktuellen Jahr geben. (Ich könnte mir einen Indikator unter oder neben der Eingabe vorstellen oder die eingegebenen Zahlen in Fett/Schwarz und die untypisierten, abgeleiteten Zahlen in hellem Grau anzeigen.)

Ich schlage auch vor, das Format mit den tatsächlichen Benutzern zu testen, um festzustellen, ob sie es verwirrend oder klar finden und ob sie auf den Punkt der Eindeutigkeit beschränkt sein möchten.

(Und ich würde darüber nachdenken, ein flexibles Limit (z. B. aktuelles Jahr + 20) anstelle eines festen oberen Limits zu erhalten, da die Zeit vergeht und es 2030 sein wird, bevor Sie es wissen. Wenn Sie der Meinung sind, dass dies zu verwirrend ist, können Sie auch einschließen Eine Lücke, die keine zweistelligen Zahlen akzeptiert. Aber nur für die sehr seltenen Fälle. Seien Sie im Allgemeinen nicht zu restriktiv, wenn Menschen viel mit etwas arbeiten müssen.)

2
Inca

Ich denke, die beste Lösung wäre:

  • das Feld wird leer, wenn Benutzer mit dem Schreiben beginnen
  • Auf diese Weise können Sie Missverständnisse vermeiden
  • und da wir alle von links schreiben, um zu schreiben -> wird jeder verstehen, dass die erste Ziffer für tausend steht und so weiter ...
0