代码之家  ›  专栏  ›  技术社区  ›  Bala

中的验证ASP.NET和C#

  •  5
  • Bala  · 技术社区  · 15 年前

    哪种是最好的客户端验证还是服务器端验证?

    5 回复  |  直到 15 年前
        1
  •  10
  •   Klaus Byskov Pedersen    15 年前

    服务器端验证是必须的,因为客户端验证可能被篡改。然而,客户端验证通常提供更好的用户体验,因为它需要更少的回发。所以我建议两者都用。

        2
  •  4
  •   Richard    15 年前

    你呢 必须

    客户端站点验证可用于提供更好的用户体验,但如果不可用,则应正确操作。

        3
  •  3
  •   cjk    15 年前

    服务器端验证。

    精明的客户机可以删除验证。

    要获得最佳GUI体验:

    客户端验证。

        4
  •  1
  •   Peter Mortensen Pieter Jan Bonestroo    15 年前

    为了验证的目的ASP.NET两者都很好,但这取决于应用程序。出于安全目的,服务器端验证是最好的,但它会增加服务器的开销,因此我们通常避免在不必要时使用服务器端验证。

    客户端验证通常最适合于检查输入类型参数,在客户端对其进行检查意味着在浏览器上进行检查,因此它不会给服务器带来负载,所花费的时间更少,而且不安全。

    在我看来,客户端验证是最好的。

        5
  •  0
  •   Stephen Swensen    13 年前

    我建议只使用AJAX进行服务器端验证。

    我曾参与过一些项目,在这些项目中,除了服务器端验证之外,我们还使用了客户端验证,相信这在服务器上会更容易,并提供更好的用户体验。虽然它工作得很好,但它的代价是违反了DRY(不要重复)原则,并冒着服务器端/客户端验证实现不一致的风险(注意:我放弃了内置验证)ASP.NET验证程序)。

    从那时起,我发现在实践中,通过使用Ajax执行所有POST,您几乎可以获得同样好的用户体验:如果服务器上的验证成功,则继续执行POST的主要目的(保存数据或其他内容),并返回success JSON响应并调用success回调来导航到另一个页面或其他内容。如果验证失败,则返回包含失败字段和消息的JSON响应,并调用失败回调来显示它们。

    假设你小心地精简你的职位(这是一个深思熟虑的实践)ASP.NET我知道),这种策略对您的服务器总体来说是很好的。

    推荐文章