gpt4 book ai didi

validation - 如何同步客户端验证和服务器端验证?

转载 作者:行者123 更新时间:2023-12-04 08:45:43 24 4
gpt4 key购买 nike

通常,在编写 Web 应用程序时,我们希望在客户端执行验证以提供即时反馈,并在服务器端执行验证以确保数据完整性和安全性。但是,客户端浏览器应用程序通常是用 JavaScript 编写的。服务器端可以用 Java、Php、Ruby、Python 和许多其他语言编写。当服务器端由 node.js 之类的东西支持时,在客户端和服务器上重用相同的验证代码真的很容易,但是如果服务器端基于 Rails 或 Django(或任何其他您可以命名的框架) ),确保验证代码保持同步的最佳方法是什么?必须用多种语言重新实现相同的代码似乎有点多余。

最佳答案

如果您牢记以下观点,重复某些验证似乎是可以的。

让我们将验证分为两部分。 A) 业务验证,例如“如果选中复选框 Y,则字段 X 中的金额应大于 500 美元” B) 基本数据验证,例如数据类型检查、空检查等(我们可能会争论每个验证都是业务验证,但这纯粹是特定于上下文的)。

A类:它是您业务逻辑的一部分,应仅保留在服务器端。

B类:这种类型的验证是放置在客户端的潜在候选者。但请记住,浏览器端验证 can be bypassed .这并不意味着您根本不应该在浏览器端进行验证,但此类验证应仅被视为节省来自服务器的网络往返的奖励。服务器必须重新执行这些验证。

简而言之,不应将验证视为跨层可重用代码的单元。他们的目标各不相同,应该允许冗余。

希望这可以帮助。

关于validation - 如何同步客户端验证和服务器端验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8557968/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com