我们用JavaScript验证表单已经很久了.我相信大多数其他开发人员都必须如此.
题:
如果用户(或可能是坏人)禁用JavaScript会怎么样?
你迷路了!
JavaScript验证值得吗?
我们现在应该使用它吗?
这有什么解决方案吗?
如果我错了,请纠正我.
JavaScript验证值得吗?
是的,因为它提供了更好的用户体验并保留了带宽.
我们现在应该使用它吗?
是的,出于上述原因.
这有什么解决方案吗?
是的,也使用服务器端验证.
如果用户(或可能是坏人)禁用javascript怎么办?
如前所述:根本不要依赖客户.永远不要这样做.再次检查服务器上的所有内容.
我们现在应该使用它吗?
是的 - 所以用户立即看到了什么是错的.否则他必须先回发数据,这可能需要一段时间.顺便说一下,您减少了服务器的流量.
它更加直观.
//编辑:BTW:据我所知,ASP.NET ValidationRules包含客户端和服务器验证.
Javascript验证很好,因为它提供了更好的用户体验.
但是,您应该永远不要依赖它,并且应该在服务器上进行验证.
如果您希望节省时间,请仅使用服务器端.如果您想获得更好的性能和用户体验,请在以后添加客户端验证.由于您声明的原因,永远不要依赖客户端验证.所有关键验证都应该在服务器上进行...即使在客户端上重复也是如此.
JavaScript改进了产品或服务的用户交互.用户交互(用户输入和机器响应,反之亦然)是我们应用程序的重要特征.正如我们所经历的那样,产品比以往任何时候都更具互动性.此交互部分可以(仅)使用JavaScript(ActionScript for Flash Player)制作.我们都同意这一点 - 总是有一个计算的工作量可以转移到客户端(机器)以避免调用而不用打扰它们发送到服务器.有许多应用程序严重依赖于客户端脚本脚本.如果他们发现你不允许所需的脚本,他们要求它留下一条消息noscript
标签.但是我想每个人都希望启用它,因为我们都用Gmail,Facebook等方式启动了一个标签.
然而,这仍然不应该被忽视,因为我们渴望抓住每一个机会(观众/客户)并且与之合作至少比分崩离析更好.它仍然有效!
作为Microsoft开发平台用户,平台上有一个方便的解决方案.NET
.这不需要在这些问题上双重努力.使用和禁用脚本时,使用客户端验证.Page.Validate()
Page.IsValid
protected void Page_Load(object sender, EventArgs e) { if (Page.IsPostBack) { Page.Validate(); // If you missed, then you got the second chance ... } } protected void btnSubmit_Click(object sender, EventArgs e) { if (Page.IsValid) { // Confirm you do a proper validation before moving to perform any process Response.Write("Done!"); } }
我希望这将有所帮助.
使用JavaScript没有错.我们很久以来一直在使用它.它用于应用客户端验证.
不过,我们应该实现服务器端验证,以便坏人无法破解应用程序.
客户端(Javascript)验证是关于可用性,没有别的.如果实施成本不值得认为可用性增加,那么就不要花时间在它上面.这些天它很容易做到!
但是,我认为你不能没有服务器端验证,因为这是唯一能为你提供安全性的东西.
如果您只从这个主题中学到一件事,那么就这样:
从不 - 在任何情况下 - 信任来自浏览器的数据并始终在服务器端验证请求数据.
我们现在应该使用它吗?
当然是.您不需要验证服务器端的空字段.这不是验证电子邮件的可用性(电子邮件的唯一性).如果你打算拒绝那个空字段,那就没有必要将它发送到服务器并让服务器为它做额外的工作.
你必须在服务器端验证它,javascript很好验证表单,但人们可以禁用javascript,或使用其他javascript来破解它,因此在服务器端进行验证是必须的.