从 Breeze Web API 返回警告而不是错误

本文关键字:错误 警告 返回 Breeze Web API | 更新日期: 2023-09-27 18:35:19

I use Breeze

.js 和 C# WebAPI with BreezeController。 我想更新客户端网页上的实体,将其传递给 WebAPI 进行更新,保存实体,然后发回警告。

[HttpPost]
public SaveResult SaveChanges(JObject saveBundle) {}

有没有办法返回包含警告信息的保存结果? 不是错误,而是警告。

例如,我正在保存居民的年龄。 如果年龄

saveResult.Errors.Add(new EntityError() {
                        PropertyName = "Age",
                        ErrorName = "Warning",
                        ErrorMessage = "The age of the resident is less than 50.  You may want to verify that you entered the correct age."
                    });

如果我这样做(这是我想要的行为):

  • 实体已正确保存。
  • 警告消息在保存结果结构中发送回。
  • 实体在服务器上正确更新,并与 saveResult 一起发回(即我的实体的系统生成主键包含新 ID)。

但是(这不是我想要的行为):

  • 在客户端上,实体不会更新,即 PK 未更新,实体仍处于挂起状态(未保存)。

我确定我在 SaveResult 中返回错误的事实就是问题所在,因为 Breeze.js 可能将其(正确)解释为错误。 但是,我不知道如何使用 Breeze 模型返回警告,并且仍然具有一切功能。

顺便说一下,我知道我可以在调用 WebAPI 之前在客户端进行验证,但我希望我所有的验证都在服务器端进行,特别是因为其中一些验证非常复杂。

有什么建议吗?

从 Breeze Web API 返回警告而不是错误

现在 breeze 没有"警告"的概念,而不是"错误"的概念,但我确实同意这个概念很有用。 您能否将其添加为微风用户之声的功能请求,(http://breezejs.uservoice.com/),如果它引起足够的兴趣,我们肯定会研究它?