让我首先说,我们确认各个领域的服务器上面,所以这个问题 关于客户端的可用性。

什么是传统的智慧 什么时候 来验证和html格式的形式输入的领域使用javascript?

作为一个例子,我们有一个电话号码领域。我们允许数字,空间,括号,并连字符。我们希望该领域具有十个数字。此外,我们希望该领域看起来像(123)456-7890,即使用户无类型的这种方式。

这似乎是我们可以

  • 验证和格式时,用户 出口的领域。
  • 验证和格式 在每一个字符的输入。
  • 截键击和防止 用户进入字是错误的。
  • 一些组合上述(例如格式上进入和验证出口,防止在条目和格式的出口,等等)。
  • [加入 等等,做所有的验证和格式时,用户击时提交。

我已经看到它做所有这些方面,但我找不到什么信息 是的最佳(甚或普遍接受的),从实用性角度看,更重要的是,为什么。

[编辑:一些澄清]

我们是绝对不执行任何格式的标准。当我说,格式,我的意思是我们会使用javascript改写的东西所以他们看起来不错。如果用户类型1234567890,我们将它改为(123)456-7890.有没有"格式的规则",这可能会失败。

我区分这从验证,因为如果他们没有足够的类型数字,我们必须让他们修复它。

我想我应该重新措辞的问题,如"什么是传统智慧在什么时候到验证和恰当的格式...?

好的信息的回答到目前为止!

编辑:我接受我自己的回答以下的希望,他将找到链接作为有用的,因为我没有。

有帮助吗?

解决方案 4

迄今为止最好的回答迄今为止不是一个答案但评论(参见上文。) 我将它作为一个答案在情况下,任何人都错过它在评论。

请参阅以下文章在一个列表中分开。

内联验证网络的形式通过卢克莱夫斯基

其他提示

验证和格式时,用户出口的领域。

是的。提供性反馈的用户,如果验证或格式的规则失败。通过noninasive我是说不会弹出一个警告或模式对话框,从而迫使用户击的东西。而是动态地显示一个消息邻近或下领域里的验证或格式的失败。

验证和格式上的每一个字符的输入。

没有。我认为,阻碍了可用性。而不是用户提供一个提示或其他一些暗示什么样的格式规则或验证的规则。E.g。对于一个"需要"的领域的实际ubiquitious星号,并为领域与格式告知用户最前面的是什么预期的格式。

截键击和防止用户进入字是错误的。

如果你要阻止用户进入无效的字符,告诉用户为什么你刚刚阻止他们的投入,通过.此外,不偷重点领域。

所以对我来说一般原则是:

  1. 通知用户最前面对你的验证和格式的规则。
  2. 不要假设的用户是短视的,因此,保持网可访问性和屏幕阅读器在心。(除非你是开发一个网站,该网站有一个有限的目标受众,例如内联网上。)
  3. 用户提供非侵入性的反馈,意味着不能使用户击警报箱或模式对话在每个失败的。
  4. 很明显这输入框验证失败或格式的规则,并告知用户为什么他们输入失败。
  5. 不偷鼠标/指针的重点,当提供的反馈意见。
  6. 保持签订的头脑,因此当键盘的面向用户完成一个领域,它们可以打标签和转到下一个合乎逻辑的输入/选择的领域。

我是要描述各种选择,但它可能是有益的,只是为使用现有的js框架来处理入口罩。 这是一个良好的运行下的各种选择

bmb国家,他们都接受的任何格式,并将其更改为所需格式(xxx)nnn-xxxx。这是非常好的。问题是时机的)的格式改变,并B)所验证。

A)中的格式变化应作为用户的出口领域。越早越是恼人后来失败的目的显示的变化。

B)验证是最适当地执行在退出的领域或者在提交形式。迟早是令人沮丧和混乱的用户。在一个长期和复杂的形式,与多个界面,我将有利于做证在退出的控制,以作出更正,更加容易。在一个短短的形式,我将做到这一点后提交,以避免破坏的流动填写的表格。它真的是一个判断呼吁,以测试它真正的用户如果在所有可能的。

优选的你是测试你的工作与实际用户,无论如何,但是如果你没有预算或者访问那、快速和肮脏的"用户"测试可以帮助作出的决定,像这一个。你可以抓一把的人 没有工作上的软件 (接近的匹配你的真实最终用户作为可能的),并要求他们填写表格。指示他们进入的事情具体地说,获得一个错误然后看着他们正确的。要求他们大声说话,通过他们在做什么所以你不需要猜在他们的思想过程。看看他们在那里有问题和什么似乎混淆/惹恼了他们大多数。

它取决于每一领域。但是为什么喜欢一个电话号码、它的一般相当不错的以防止有人甚至进入非数字。

这种方式,打字的时候你会发现你的1-800-案的电话号码没有显示出是否正确,并认识到,外地仅接受的数字(这你也可以突出某种信息领域与输入场)。

这对我来说似乎是一个更多的inuitive和友好比一个尴尬的模式对话,下来的错误的领域或服务器生成的消息显示 你完成填写。

当然,总是平衡的最终客户端验证最终的技术要求建立它。如果你开始在路径,也就是说,验证图像上传与阿贾克斯的页之前提交,这可以是一个很漫长的道路。

编辑:此外,还考虑你的观众。在技术上更思想要更多接受的"动态"的形式,比方说,人们更习惯的非阿贾克斯的方法的网络。

我个人认为,格式和验证上的出口是最令人烦恼的用户。让他们输入该数字在任何格式的他们喜欢的(有很多这样的一个电话号码)和随后改变它的格式要你喜欢。 不力的用户,以符合你的喜好时,你可以处理的数据,在他们的优选形式。

此外,验证消息的时候我不做打字是令人讨厌的,并且不能够把一定的性格在文本的领域是超级讨厌的。

唯一的例外是我能想到的是"这是价值可用"的情况(例如创建一个独特的用户名)-在这种情况下即时的反馈是非常方便。

我找到第三种选择是真的很讨厌。没有什么比被中断中间的打字的东西。

你的用户的主要目标是通过获取的形式尽可能快和你做任何事情,减缓他们失望只是一个原因,他们放弃它完全。

我也讨厌被迫类的东西就像一张信用卡号码或电话号码是完全正确的格式,以满足形式。只要有可能,只是给用户的一个框类的东西进入和不让他们处理格式。

在这种情况下你的电话号,让他们进入它,但是他们想要的,去掉任何你不喜欢,尽量把它放一起回到你想要的格式((124)567-8901)和投掷的一个错误,如果你不能。

如果你绝对必须验证的东西一种特定的格式,这样做时,他们提交的形式然后突出的领域的问题。

大多数用户友好的方式我已经看到做到验证的是有一个指标,显示出来,接下来的输入栏指明的价值是无效的。这样你不中断用户,因为他们打字但他们可以不断看看他们是否已经输入一个有效的条目。我讨厌有类型的信息进入一个漫长的形式只要有事情告诉我在结束"哦,你需要回去和修复领域1".

你可以有指标可以显示出隐藏的用户的类型。我用一个警告标时的价值是无效和我定了一个提示图标,解释了为什么要的价值是无效的。

如果你有屏幕上的房地产的,你可以只把文本,例如"有效"或"必须在格式XXX-YYY-XXXX".

请记住,当你每次按键验证你还需要赶上粘贴文本。

此外,还应防止无效键要输入在第一位。

为实用性的最佳做法,我建议阅读 如何设计的完美的形式 (更确切地说 上下文和援助)和 美丽的形式.

对于一个形式验证框架,检查 fValidatoriMask 组合,它们是互补的,并因此完全运作起来。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top