如何处理百岁老人出生日期?

Joh*_*son 3 usability user-interface

" 百岁老人是一个年满100岁或以上的人." - 维基百科

几种方法可以提示用户出生日期,但是假设我们选择了下拉方法.

你会如何处理最早的可选日期?你选择任意一年(如1875年)并填充到现在?

或者,你是否为一个创纪录的年龄(Jeanne Calment,122岁)咨询了一些资源,增加了几年,并向后填充?

Kip*_*Kip 14

为什么不输入"1899"或其他类型的文本输入框?收到后,您可以根据您使用的任何条件验证它是合法号码.我对列表框感到恼火,以选择出生年份,因为列表框中不应包含那么多值.


重读这个问题,你假设列表框是唯一的选择.在那种情况下,130年前对我来说似乎是一个足够好的截止点.如果你担心下一个世界纪录断路器会碰巧使用你的系统,那么为什么不用200年前的事情呢?虽然我仍然说你应该只使用一个文本框.

  • 如果它是一个Web应用程序,您无论如何都需要解析/错误处理,因为用户可能已经修改了表单选择的值(例如,通过"黑客攻击"URI). (6认同)
  • 这个.我很生气地滚到1984年; 我无法想象我父母滚到50年代的情况. (6认同)
  • 永远不要让用户选择带下拉列表的年份.从大量选项中挑选是一种非常糟糕的方式,特别是当它从文本框中验证时非常容易.只需在文本框旁边或下面放一个注释,指定所需的格式. (4认同)
  • 取决于浏览器.许多浏览器只允许你跳过第一个字符的下拉列表,这在多年来完全没用(它们都以1开头). (3认同)

Mic*_*val 7

因为无论使用何种控件,您都必须执行服务器端验证输入,为什么不使用标准文本输入?

`<input type="text" maxlength="4"/>
Run Code Online (Sandbox Code Playgroud)

这个:

  1. 消除百岁老人的问题.
  2. 易于使用,特别是对于老年人(假设列表按降序排列).
  3. 较小的页面大小(不需要包含100多个<option>....</option>标签.

如果您必须使用<select>方框,我同意您的维基百科方法.最早记录的人(126 ->130或140)的年龄最小化将是相当无风险的.