2009-08-21 15 views
3

"Eine centenarian ist eine Person, die das Alter von 100 Jahren oder mehr erreicht hat." - WikipediaWie sollen die hundertsten Geburtsdatenfelder gehandhabt werden?

Es gibt several ways to prompt a user for Date of Birth, aber sagen wir, wir haben die drop down method gewählt.

Wie würden Sie mit dem ältesten auswählbaren Datum umgehen? Wählen Sie ein willkürliches Jahr (wie 1875) und bevölkern Sie, um zu präsentieren?

Oder konsultieren Sie einige Ressourcen für ein rekordbrechendes Alter (Jeanne Calment, age 122), fügen Sie ein paar Jahre hinzu und bevölkern Sie rückwärts?

Antwort

7

Da Sie die Eingabe serverseitig überprüfen müssen, unabhängig vom verwendeten Steuerelement, verwenden Sie eine Standardtexteingabe.

`<input type="text" maxlength="4"/> 

Dieses:

  1. Beseitigt das Problem Centenarian.
  2. Einfacher zu verwenden, besonders für ältere Personen (Angenommen, die Liste ist in absteigender Reihenfolge).
  3. Kleinere Seitengröße (braucht nicht mehr als 100 <option>....</option>-Tags enthalten.

Wenn Sie eine <select> Box verwenden müssen, ich stimme mit Ihrer Wikipedia Methodik. Ceiling das Alter der ältesten urkundlich erwähnten Person (126 -> 130 oder 140) wäre ziemlich risikofrei.

+0

Mike, ich mag deine Einsicht. Kleinere Seitengröße ist eine große Sache, vorausgesetzt, es gibt ein Potenzial für das gleiche Jahr Drop-Down auf der Seite mehr als einmal (oy!) Erscheinen. Dies ist eine echte Möglichkeit, und ich werde sehen, ob ich diese Veränderung vornehmen kann. Danke, dass Sie auch offen für meine ursprüngliche Frage sind, während Sie einen Vorschlag für eine bessere Alternative machen. –

14

Warum nicht ein Texteingabefeld, wo sie "1899" oder was auch immer eingeben? Wenn es empfangen wird, können Sie bestätigen, dass es sich um eine zulässige Nummer handelt, die auf den von Ihnen verwendeten Kriterien basiert. Ich bin genervt von Listboxen, um Geburtsjahr zu wählen, weil Listboxen nicht so viele Werte enthalten sollten.


Erneut die Frage, Sie gehen davon aus, dass Listbox die einzige Option ist. In diesem Fall scheint mir vor 130 Jahren ein guter Abschneider zu sein. Wenn Sie sich Sorgen machen, dass der nächste Weltrekordbrecher Ihr System benutzen wird, warum nicht mit so etwas wie vor 200 Jahren gehen? Ich würde zwar immer noch sagen, dass Sie nur ein Textfeld verwenden sollten.

+0

Das führt zusätzliche Parsing/Fehlerbehandlung - Sie sollten wahrscheinlich behandeln und mit zwei Ziffern Jahren bewältigen, zusammen mit den potenziellen Problemen, die einführt. –

+6

Wenn es sich um eine Webanwendung handelt, würden Sie sowieso die Analyse/Fehlerbehandlung benötigen, da Benutzer möglicherweise den Wert geändert haben, der durch das Formular ausgewählt wurde (z. B. durch "Hacken" des URI). –

+6

Dies. Ich genervt Scrollen bis 1984; Ich kann mir nicht vorstellen, wie es für meine Eltern sein muss, bis in die 50er Jahre zu scrollen. –

1

Es hängt davon ab, denke ich. Erstellst du eine Bewerbung für junge Leute?

Wenn die Anwendung für alle zugänglich sein muss, erstellen Sie einfach eine konfigurierbare Überprüfung und aktualisieren Sie sie ab und zu. Betrachten Sie http://en.wikipedia.org/wiki/Oldest_people#Ten_oldest_people_currently_living für das älteste mögliche Datum.

Eine Datumsauswahl ist vorzuziehen, verwenden Sie keine irritierenden Listboxen mit mehr als 100 Werten.

+2

Ich glaube nicht, dass Listenfelder mit mehr als 100 Einträgen eine gute Idee sind, aber ich habe noch keine Datumsauswahl gesehen, mit der man ein Datum vor hundert Jahren auf einfache Weise auswählen kann. Hast du irgendwo ein gutes Beispiel (Link)? –

+1

Ja, ich stimme mit divo überein ... date pickers haben das Potential nerviger zu sein als ein drop down. –

+0

Ja, gültige Punkte. Ich habe gerade über Datumsauswahl für die allgemeine Datumsauswahl nachgedacht. Für die Auswahl Ihres Geburtstages kann es erschreckend sein. Mit der ASP.NET AJAX-Kalendererweiterung können Sie problemlos Jahrzehnte zurückgehen (indem Sie auf das Datum klicken). Aber noch keine 100 Jahre ... – nicojs

1

Wenn Sie bei Drop-Downs bleiben wollen, wählen Sie einfach ein alt genug Datum.Persönlich denke ich Drop-Downs sind sowohl für den Benutzer und Sie schlecht mein Geburtstag aus einer Liste von hundert Zahlen nervig (obwohl Firefox lässt mich das Datum auswählen, indem Sie es eingeben). Aber auch ich th Tinte eine Auswahl macht Menschen neigen dazu, gefälschte Jahre mehr eingeben, als wenn sie es eingeben mussten.

Wenn Sie mit Javascript leben können, könnte eine Combobox das Beste aus beiden Welten sein. Sie können 100 Jahre in der Liste auflisten und ältere Personen tippen lassen. Dies hat nur ein geringes ethisches Problem, d.h.Sie machen absichtlich ältere Menschen Typ =)

1

Meine Meinung über die Dateneingabe ist dies auf den Benutzer, nicht der Programmierer gerecht zu werden.
Während, ja, ein Drop-Down verursacht die geringste Fehlerbehandlung, es ist auch mühsam für die Benutzer.

Gehen Sie für Texteingabe, die Sie validieren müssen. Mehr Code ist auf der Rückseite erforderlich [ermöglicht sowohl 2 Ziffern Jahre und 4 Ziffern], aber es ist eine einfachere Erfahrung für den Benutzer

+2

Die Verwendung eines Dropdown-Menüs erfordert * ebenso viel Fehlerbehandlung wie ein Textfeld. Ein böswilliger Benutzer könnte auf einfache Weise ungültige Werte an ein Formularsteuerelement senden, indem er eine falsche Abfragezeichenfolge oder eine HTTP-POST-Anforderung erstellt. –

+0

oh yeah, vergaß das ...Also, wenn die Fehlerbehandlung da sein wird, dann sollte die Option sein, was für den Benutzer am einfachsten zu verwenden ist – Farrell

Verwandte Themen