我正在使用管理员模块和用户模块构建数据库支持的Web应用程序。管理员模块允许管理员修改存储在数据库中的实体的属性。用户模块根据数据库的状态提供动态生成的表单。
考虑以下用例:
在这种情况下,提交表单的服务器端验证是通过还是失败?
为用户提供了有效的表单,但由于管理员在页面上的更改而导致发布的表单内容不再对数据库的当前状态有效...
如果它应该通过,我应该在页面加载(利用数据库历史记录或使用会话)时根据数据库的状态验证数据,还是过度杀戮而我只能验证发布的实体是否有效但不一定符合目前的表格标准吗?
答案 0 :(得分:0)
答案 1 :(得分:0)
治疗方法应与“失去更新”的方式类似。处理问题,因为这是一个丢失的更新问题。两个人同时选择一行进行编辑,其更改是否持久且更改是否丢失?第一个人的变化是持久的,第二个人被告知更新失败 - 是标准方法。在这种情况下,管理员是第一个更新的人 - 尽管用户可能是第一个阅读的人。因此,验证失败,并通知用户数据已过时并显示当前数据。
希望这有帮助。