Forms 什么时候清理表格?
“清理”是指格式化输入,如“a1b2c3”到“A1B 2C3”或“5551234567”到“(555)123-4567”。我认为我们没有多少选择:Forms 什么时候清理表格?,forms,user-interface,user-experience,Forms,User Interface,User Experience,“清理”是指格式化输入,如“a1b2c3”到“A1B 2C3”或“5551234567”到“(555)123-4567”。我认为我们没有多少选择: 当用户键入时。例如,当用户键入邮政编码时,所有字母立即大写,或者在用户键入电话号码的3位数字后,会在其周围加上括号 当字段失去焦点时。 从不。格式化只在服务器端进行,就在插入数据库之前。除非它显示在网站的某个地方,否则用户永远看不到它是如何格式化的。 (3b)如果存在表单错误,或在确认页面上。如果存在表单错误且表单需要重新显示,则会显示有效输入上的格
(3b)如果存在表单错误,或在确认页面上。如果存在表单错误且表单需要重新显示,则会显示有效输入上的格式,或者如果您有确认页面(这些输入正确吗?),则会显示在确认页面上
你觉得怎么样?我想我喜欢(2)。提醒我Visual Studio中的代码格式工作原理(在关闭大括号或键入分号时发生)。根据输入的类型,我选择(1)或(2)。(1) 如果操作正确,可能是最方便用户的,但是实现起来更为复杂(例如,如果我从连字符的电话号码中删除一个数字,或者连字符?)。如果你能负担得起,就选择(1),否则就选择(2)。我采用与验证相同的方法。一次在客户端,一次在服务器端。无论是在焦点不集中的情况下还是在他们键入时,这都无关紧要。我喜欢在字段失去焦点后过滤字段(当字段在转到下一个字段之前正确格式化非常重要时,这是很少见的),或者在用户点击“提交”按钮时,我过滤字段内容(或您想叫它什么)将数据发送到服务器 这对我有几个好处:
回答:这完全取决于上下文。这实际上取决于它是什么类型的数据,它代表什么,以及它将用于什么,不是吗?不需要讨论这些类型的问题。格式化只需要在客户提出这一问题时才需要。格式化也因国家、您正在格式化的内容、邮政编码、电话、高度或w而有所不同八:)。需要客户端格式。否则用户将输入任何内容,服务器无法正确处理。在那里再添加一个选项5。当你的老板(客户)要求格式化时进行格式化。:)@zod:“否则用户将输入任何内容”——这称为验证;这是另一个问题。(5) 仅当您的唯一目标是领取工资支票时适用;我们中的一些人对自己的工作感到自豪。@Pekka:怎么会这样?如果是标准格式的数据,我认为应该强制转换成这种格式。或者至少是一种使查询和转换更容易的一致格式。例如,时间应该转换为一致的时区,然后您可以根据用户的区域将其转换为您喜欢的任何时区。电话号码在不同地区的格式可能不同,但至少如果您一致保存,您可以在以后处理地区差异。一致性何时变得糟糕?使查询更容易。@Mark我认为这完全取决于。在目标格式上。关于受众和用户期望。在使用它的设备类型上。关于如何使用数据。等等。等等。在不同的情况下,这五个选项中的任何一个都可能是最好的,所以我不认为概括有什么意义。是的……这是(1)的另一个问题。我不喜欢它,因为它很难实现,而且从用户的角度来看,可能有点混乱。我不喜欢网站在我输入之前就把我的输入搞乱了。值得一提的是,当字段失去焦点时重新格式化也可能会让人困惑。用户可能会花时间手动重新格式化字符串,而不知道软件已经准备好为他重新格式化。我个人更喜欢即时格式化,只要它是可靠和简单的。这一点很好,但他可能会在输入一个输入后很快学会。这是一个m