以Ajax形式验证客户端,服务器端或两者的表单?

时间:2010-09-11 18:27:03

标签: jquery ajax validation client-side server-side

我正在开发这个应用程序,它是一个非常基本的Ajax表单,我目前通过jQuery使用它的默认验证插件来验证表单输入。

我想知道我是否应该在提交表单后进行服务器端验证,或者只是忽略并假设一切正确,因为客户端验证成功了?

但要记住两件事:

1)虽然表单能够在没有JavaScript的情况下提交,但服务器端脚本不会处理此行为。我的意思是,数据将被处理并插入到数据库中,但它不会返回任何内容,因此用户在提交表单后会看到一个空页面。此外,这个应用程序在JavaScript上很强大,没有它就行不通(顺便说一下,它是一个Facebook应用程序)。

2)目前应用程序非常简单,该表单上只有2个选项。一个是文本框,它是唯一被验证的东西(它是必需的,必须只是数字)。另一个选项是一组单选按钮,默认情况下会选择其中一个,因此即使用户忘记了此选项,也会选择一些内容。它基本上是此选项的默认值(尽管文本框没有默认值)。

2 个答案:

答案 0 :(得分:5)

服务器端:必要。一直这样做。

客户端:很好。使您的应用更具响应性。可选的。

答案 1 :(得分:1)

始终验证服务器端!除了安全问题,这可能不会在这里发挥重要作用,还有其他事情要坚持:

  • 当我在“两位数”字段中提交类似“q8”的内容时(绕过客户端验证)会发生什么?
  • 如果用户没有选择任何内容,则设置默认选项并不十分友好。

此外,如果表单中只有两个字段,我认为,实现服务器端验证的努力并不多......