微风JS:实体错误防止客户端补丁



我的客户端应用程序我调用entityManager。saveChanges将所有当前更改的实体从客户端发送到服务器。然后,在服务器上的beforeaveentity事件中,我对每个实体执行一些服务器端验证,以查看它是否应该从保存映射中排除。例如,我的实体可能有一个太长的描述值。因此,我从beforeaveentity返回false,并生成一个新的EntityError,然后将其添加到saveResult中。EntityErrors集合。没有从保存映射中排除的所有有效记录然后成功保存,并且我的saveResult返回给客户机。但是由于这个单一实体错误,返回的实体的自动修补不会在客户端上发生。我看了源代码,基本上似乎有一个检查,说如果有任何东西在saveResult。EntityErrors集合,不需要修补。但只有一个实体故意没有保存,所以我仍然希望能够修补其他实体。这种行为是有意为之吗?我希望能够从保存中排除某些实体(我可以使用beforeaveentity事件),但似乎没有任何方法可以使用内置机制将实体错误返回给客户端,而不会放弃完整的补丁。

保存在微风是事务性的,如果在所有可能的(一些后端提供商,如MongoDb不是因为他们不支持它)。这意味着,如果保存包中的任何实体出现任何故障,整个保存将被恢复,并向客户端返回一个错误。这是设计好的。

最新更新