Javascript 有效地验证页面上的数据是否存在';自从你上膛后没有被别人换过?
我们有一个包含大量用户可编辑数据的页面,这些数据是从数据库中的各个表填充的。数据有各种不同的形式、下拉列表、复选框、输入框、文本区域等 在两个用户几乎同时加载一条记录、一个用户进行更改,然后另一个用户进行一组更改的情况下,出现了一些冲突。当他们存钱时,他们不知道其他人做了改变,可能只是破坏了他们所做的改变,或是改写了他们的改变 我正在尝试实施一个解决方案来缓解这个问题,例如当其他人更改数据时向用户提示错误 我想知道是否有一种最佳实践方法来检查此问题?我的一些想法是Javascript 有效地验证页面上的数据是否存在';自从你上膛后没有被别人换过?,javascript,html,forms,validation,yii,Javascript,Html,Forms,Validation,Yii,我们有一个包含大量用户可编辑数据的页面,这些数据是从数据库中的各个表填充的。数据有各种不同的形式、下拉列表、复选框、输入框、文本区域等 在两个用户几乎同时加载一条记录、一个用户进行更改,然后另一个用户进行一组更改的情况下,出现了一些冲突。当他们存钱时,他们不知道其他人做了改变,可能只是破坏了他们所做的改变,或是改写了他们的改变 我正在尝试实施一个解决方案来缓解这个问题,例如当其他人更改数据时向用户提示错误 我想知道是否有一种最佳实践方法来检查此问题?我的一些想法是 提交字段中的“当前”数据和“
- 提交字段中的“当前”数据和“原始”数据。然后检查更改的内容并在数据库中进行比较,以查看默认值是否与当前保存的内容不同。这会起作用,但似乎对性能最不友好
- 使用jquery/javascript检测字段何时被编辑,如果它已从
更改,则设置一个隐藏字段,该字段将被提交以指示其原始值。然后它将做类似于前面的想法所做的事情defaultValue
- 设置一个隐藏字段,时间戳为用户加载页面的时间。当他们提交时,使用该时间戳并检查我们的历史记录表,以查看页面上的任何数据是否自该时间戳以来发生了更改。这似乎是最有效的想法,也可能是最容易实现的
有没有更好的选择或最佳实践方法来实现这一点?我觉得我在为一个常见的问题重新发明轮子 您正在解决一个常见问题。但它很常见,因为它需要频繁地反复解决。“乐观记录锁定”是你前进的道路。看起来yii(我不熟悉)有能力处理这个问题。我找到了 无论yii基础设施是为您提供此功能,还是您必须自己构建它,您想要做的(支持乐观记录锁定)是:
另一种选择是悲观记录锁定,您可以查看它。我之所以避免它,是因为它有其他问题,但在某些情况下它更合适。您正在解决一个常见问题。但它很常见,因为它需要频繁地反复解决。“乐观记录锁定”是你前进的道路。看起来yii(我不熟悉)有能力处理这个问题。我找到了 无论yii基础设施是为您提供此功能,还是您必须自己构建它,您想要做的(支持乐观记录锁定)是:
另一种选择是悲观记录锁定,您可以查看它。我之所以避免使用它,是因为它还存在其他问题,但在某些情况下它更合适。听起来像是你重新发明了git。您需要将版本控制合并到此工作流中。@al76已经有了一个历史记录系统。也许实现“事务模式”可能是一个前进的方向。听起来像是您重新发明了git。您需要将版本控制合并到此工作流中。@al76已有一个历史记录系统。也许实现“事务模式”可能是一个前进的方向。