我正在使用PHP在服务器上创建一个表单,但我正在考虑使用jQuery进行表单提交。
那么,哪个选项更好?一个PHP脚本,它接受表单,在那里验证东西并在出错时发送消息,或者发送表单而不重新加载的jQuery脚本?优缺点都有什么?先谢谢你了!
答案 0 :(得分:6)
你应该同时做到这两点!
服务器端验证始终更安全然后在客户端站点上。
客户端网站验证非常适合可用性,因为如果出现问题,用户将从脚本获得即时反馈。并且用户在获得一些反馈之前不必先将数据发送到服务器。
答案 1 :(得分:2)
我总是将验证放在服务器端,因为客户端逻辑最终是不可靠的(如果有人禁用javascript会发生什么?打开firebug来改变事情?)。我认为客户端验证是UX的一个奖励。这并不是说你不能使用类似jQuery validate plugin之类的东西来添加客户端逻辑,但我不会仅依赖 来构建客户端逻辑。
我发现自己变得喜欢微软的MVC famework,因为版本3在服务器端验证逻辑和jQuery validate插件之间有very nice integration。有没有看过一段时间,但在PHP框架中可能有类似的东西?
答案 2 :(得分:1)
永远不要相信客户。因此,为了方便用户,JavaScript表单验证只能是一个加号,但永远不是您唯一的验证机制。通过一些webdev知识,您可以使用JavaScript并使用您喜欢的数据发送表单。
使用信息性消息进行JavaScript验证对用户来说可能是一个巨大的优势,因此您绝对应该将其视为用户级验证。
另外,请记住,默认情况下可能会有用户不使用JavaScript。
答案 3 :(得分:0)
我同时使用两者。对于验证示例..我将有一个名为“saveData()”的php函数,如果它丢失了一些表单数据,它将抛出异常。另一方面,如果他们启用了javascript,他们可以提交表单并立即查明他们是否缺少数据,而不是重新加载页面以查找。
答案 4 :(得分:0)
假设您的意思是使用javascript进行验证,然后将其发送到服务器端(正如@pekka所说,这是给定的),那么您有jQuery / javascript的pro / con这个
亲:
CON:
答案 5 :(得分:0)
客户端验证与安全无关。 其目的只是为了提高性能以创造更好的用户体验。
服务器端验证所有关于安全性。
任何客户端验证必须在服务器端完成(反过来不是必须的)。