2016-03-03 81 views
0

我正在为网站制作一些表单。目前我有通常的HTML浏览器检查(在输入中带有“required”标签和模式以及东西),我在提交前检查JavaScript中的值,并在提交后对数据进行服务器端检查。我需要JavaScript表单验证吗?

一切工作正常,即使我只有其中一个启用,但它似乎有点矫枉过正给我,所以我的问题是,如果我可以离开Javascript检查?当然,我需要保持服务器的良好状态:D

期待您的答案!

+1

你永远不能相信你的客户。 Javascript验证仅用于改进UX。 –

+0

服务器端验证是必须的,一些较旧的浏览器不会使用“required”标签进行验证。所以你需要编写自定义的JavaScript代码来在客户端进行验证(如果你想的话)。 – Vigikaran

回答

1

您必须始终在服务器端验证输入。 Javascript是可选的,它只是为了让用户的生活更轻松。您的用户获得更好的体验。而已。

+0

这就是我的想法。我想我会保持这种方式。 –

+0

这就像“你需要AJAX”一样的问题吗?不,不是真的,但是你会制作漂亮的页面,每次使用时都不需要重新加载。 - >更好的体验。 – PVL

1

所有现代浏览器都支持HTML5表单字段属性。当你使用这些,你可以跳过JS验证。

+1

据我所知IE 8和9有支持它的问题。 (如果根本不支持) – PVL

+0

@PVL是的,但我不会说这些是现代浏览器。如果您必须定位这些浏览器,那么您可以使用服务器端验证,而不是仅为这些浏览器实施JS解决方案。但这取决于目标受众使用哪些浏览器。(请检查您的网站统计信息以了解...) – feeela

+0

我更喜欢一次性实现javascript/jQuery,并忘记其他浏览器的问题。更不用说,您可以获得更好的验证,并且可以让用户很好地了解出了什么问题。 – PVL

0

为了扩大一点对目前的答案:

服务器端验证,始终是必需的,您提到。

HTML和Javascript验证用于不同的事情。

HTML需求标签可用于在表单提交前检查表单的字段不是空白。

JavaScript验证可以让你远与您要验证什么更加灵活。但是,它需要更多的工作,因为它不像所需的标签那么简单。

使用Javascript,您可以做更多。一些例子:

  • 验证,作为一个用户开始输入
  • 有框突出显示不同的颜色
  • 显示错误消息
  • 旁边有一个红色的大十字架出现无效的领域尽快出现或旁边有效的大绿色
  • 当用户输入无效的内容时,旋转页面。 (实际上没有做到这一点)

还要注意browser support为所需的标签。