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