JavaScript-是否可以在提交到服务器端之前检查表单中是否填写了所有字段?

JavaScript-是否可以在提交到服务器端之前检查表单中是否填写了所有字段?,javascript,validation,Javascript,Validation,我有一个复杂的表单,其中包含一些使用JS/jQuery动态生成的字段 这种动态生成的问题是在服务器端验证此字段的复杂性。我不知道我是否应该存储JS生成的表单和值,并尝试在服务器端验证,或者另一方面使用另一种方法,如在客户端验证所有(我认为更容易) 我的问题1是:是否可以使用JS进行所有验证?有一些JS验证框架可以帮助我完成这项任务吗?我已经找到了LiveValidation(www.LiveValidation.com),这就是我需要的吗 问题2:使用这种方法我会遇到什么问题(validata

我有一个复杂的表单,其中包含一些使用JS/jQuery动态生成的字段

这种动态生成的问题是在服务器端验证此字段的复杂性。我不知道我是否应该存储JS生成的表单和值,并尝试在服务器端验证,或者另一方面使用另一种方法,如在客户端验证所有(我认为更容易)

  • 我的问题1是:是否可以使用JS进行所有验证?有一些JS验证框架可以帮助我完成这项任务吗?我已经找到了LiveValidation(www.LiveValidation.com),这就是我需要的吗

  • 问题2:使用这种方法我会遇到什么问题(validata全部在客户端)

一些线索、想法


非常感谢,

是的,除了可以绕过所有客户端验证的黑端之外,在客户端执行所有验证都是非常可能的。执行验证的一个好且简单的插件是

客户端验证仅用于用户体验目的(速度、易用性、用户友好性、即时响应等),而不用于真正的验证。JS验证很容易绕过。甚至可以不使用表单就向服务器提交数据,从而完全跳过客户端

出于安全目的,服务器应该进行验证。您的验证逻辑应该适应表单的动态特性


据我所知,动态表单通常使用阵列表单。这样,就很容易在服务器端查看动态表单,特别是那些具有重复字段组的表单。

安德烈,我们一直都在这样做。Javascript验证是一个关键点,必须在提交之前执行,主要原因是

  • 使站点/页面用户友好
  • 由于Firebug、Chrome。。。还有一堆命令行工具
例如,您可以使用JS验证

  • 确保用户填写了所有必填字段,并指向缺少的字段(焦点)
  • 检查输入的数据类型,并警告用户
  • 确保字段的一致性(卡号、生日、fieldX和fieldY…)
此外,回答你的最后一个问题,并解释答案的开头(没有坏处)

  • JS验证不能确保发送到服务器的数据是干净的/可靠的/一致的(因为JS验证很容易被绕过)
  • 服务器必须对所有字段执行相同或更强的验证,并且永远不信任用户输入(SQL注入风险等)