在Javascript中验证,在ASP.NET中处理

在Javascript中验证,在ASP.NET中处理,javascript,asp.net,validation,Javascript,Asp.net,Validation,嗨,我遇到了一个小问题。我在网页上有一个表单,它使用了一系列HTML控件(文本框、复选框、下拉列表等)。我要将输入的数据添加到数据库中,但首先需要对其进行验证。我更喜欢在客户端进行验证,因为它更干净。那么,是否可以使用JavaScript进行所有错误检查,然后在全部检查完毕后,向服务器端代码发送一个true或false值,以便它知道如何开始处理它 到目前为止,我一直在进行JavaScript验证,然后用ASP.NET代码模拟验证。这是可行的,但必须有更好的办法 提前感谢在决定在何处执行验证时,有

嗨,我遇到了一个小问题。我在网页上有一个表单,它使用了一系列HTML控件(文本框、复选框、下拉列表等)。我要将输入的数据添加到数据库中,但首先需要对其进行验证。我更喜欢在客户端进行验证,因为它更干净。那么,是否可以使用JavaScript进行所有错误检查,然后在全部检查完毕后,向服务器端代码发送一个true或false值,以便它知道如何开始处理它

到目前为止,我一直在进行JavaScript验证,然后用ASP.NET代码模拟验证。这是可行的,但必须有更好的办法


提前感谢

在决定在何处执行验证时,有两个选项:

  • 在服务器上
  • 在服务器和客户端上
仅对客户端执行验证不是一个安全的选择,因为您不能信任客户端。如果用户禁用了javascript,那么客户端验证就永远不会运行,该怎么办?现在,您的服务器盲目地接受潜在的坏数据。如果用户将您的webform保存到磁盘,对其进行更改以删除验证,然后使用修改后的版本提交,该怎么办?您的服务器盲目地接受潜在的坏数据


只有客户端的验证最终会花费您的成本-不要走这条路。

除非您选择使用ASP.NET MVC,它是一种优雅的“更好的方法”,可以通过基于属性的验证构建应用程序,否则您就不走运了。您必须检查服务器上的数据

记住

Never ever trust the data from the user.
尽管你的大多数用户都是善良的老泰德,但也有一些聪明、邪恶的人会试图入侵你闪亮的网站。此外,如果人们发现您没有验证服务器上的数据,他们会嘲笑您


要避免这种侮辱,请在服务器上验证数据。

使用一个全局变量,如isValid,将其设置为false,然后在表单postback上检查并返回false。如果(!isValid)返回false;这样,JavaScript可以在验证所有字段是否有效后将该变量设置为true。如果值无效,您应该能够通过从submit按钮事件处理程序返回false来防止数据提交到服务器。您应该在这两个位置都进行验证。一次用于用户(客户端),一次用于数据完整性(服务器端)。您所做的一切听起来都没有错。“那么,是否可以使用JavaScript进行所有错误检查,然后在全部签出后,向服务器端代码发送一个true或false值,以便它知道如何开始处理它?”-这很愚蠢。在发送数据之前,只需等待JS验证完成。(如上所述,这是不够的)。我将把控件转换为asp.net控件,并添加内置的验证器。它们在客户端和服务器端都工作。在数据库中输入任何内容之前,您应该验证这两个属性。