我一直认为我应该在单击提交按钮时验证 JavaScript 上的表单数据,然后我应该验证在服务器端 C# 上提交的数据。
但现在我在想我可能不需要在 JavaScript 上验证表单数据?由于 Ajax 无论如何都不会重新加载页面,这意味着来自 JavaScript 的错误消息和来自 C# 的错误消息对于用户来说没有区别。
奇怪的想法??
我一直认为我应该在单击提交按钮时验证 JavaScript 上的表单数据,然后我应该验证在服务器端 C# 上提交的数据。
但现在我在想我可能不需要在 JavaScript 上验证表单数据?由于 Ajax 无论如何都不会重新加载页面,这意味着来自 JavaScript 的错误消息和来自 C# 的错误消息对于用户来说没有区别。
奇怪的想法??
始终在服务器端实施验证。然后在考虑客户端验证之前确保此验证有效。原因是我看到很多人先实现客户端验证,然后忘记服务器端验证,以为他们正在验证某些东西。客户端验证不应真正被视为验证。它应该被视为可以改善用户体验(用户无需提交整个表单即可获得即时反馈)并保留带宽的东西。因此,如果您想要这个额外的,那么请继续实施客户端验证。
您应该始终验证服务器端。
验证客户端是可选的以增加可用性。
一般来说,在服务器端和客户端都实现验证是一种很好的做法(即使只有服务器端验证是强制性的)。
原因是有人可以通过您的客户端验证破坏您的域完整性。
无论如何,客户端验证对于防止到服务器的往返很有用,即使客户端验证失败也是如此
如果您只需要做 1 个,那么服务器端肯定是要走的路。
尽管 Ajax 给用户一种页面没有发布的“错觉”,但您仍然会为您的网站生成 HTTP 流量,因此取决于您的托管情况,这可能会增加不必要的成本并增加您的 Web 服务器的负载。
我的 0.02 美分?有了今天所有不错的 JS 库,没有充分的理由不实施客户端验证。