验证控件,客户端JavaScript验证或服务器端验证的最佳方法是什么?
答案 0 :(得分:9)
正如其他人所说,你应该做到这两点。原因如下:
您希望首先在客户端验证输入,因为您可以向普通用户提供更好的反馈。例如,如果他们输入无效的电子邮件地址并移至下一个字段,则可以立即显示错误消息。这样,用户可以在提交表单
之前更正之前的每个字段。如果您只在服务器上进行验证,则必须提交表单,收到错误消息,并尝试搜索问题。
您希望在服务器端进行验证,因为您可以防范恶意用户,他们可能知道如何绕过JavaScript并向服务器提交危险输入。无论您在客户端尝试做什么验证,服务器都不应该信任来自用户的输入。
服务器端验证对于兼容性也很重要 - 并非所有用户都启用了JavaScript。
答案 1 :(得分:7)
.NET验证器可以在客户端和服务器端工作。
这是最佳实践,因为您希望客户端的响应能力,但服务器端的安全性(因为您永远不应该信任客户端 - 始终在服务器上验证)。
例如 - 使用像firebug这样的工具,javascript可能是活动的,但脚本很容易被篡改(因此它在客户端上“通过”验证,即使它不应该)。您的服务器端代码不会向客户端公开,因此您应始终在服务器端进行验证。
答案 2 :(得分:1)
两者 javascript验证可以帮助您节省服务器端流量,用户无需等待,因为他可以获得即时反馈。但是用户可以停用javascript,因此您需要将服务器端验证作为备份。
答案 3 :(得分:1)
两者。客户端,无需回发即可快速反馈给用户。然后再次在服务器端,因为很容易绕过客户端验证。