breeze:可选的自定义验证器

时间:2014-08-19 14:21:57

标签: breeze

我有以下数据结构:

  • 任务实体具有一组作业实体
  • 作业实体有一组联系人实体

我有一个自定义验证器,用于在保存Job实体之前检查Contact集合是否为空。它工作正常。

在应用程序的另一部分中,我从数据库中加载了我的Task实体以及Job实体(但没有Contact实体,因为在应用程序的这一部分中不需要它们。)

用户对Task实体以及属于Task的Job实体之一进行一些修改。然后,当用户点击保存按钮时,它会失败,因为自定义验证器会抛出错误,因为集合中没有Contact实体。

我该如何处理这种情况?基本上自定义验证器不应该在这里触发,但我怎么知道何时调用它?

我希望这有道理吗?

1 个答案:

答案 0 :(得分:2)

您可以使用 EntityAspect.isNavigationPropertyLoaded 方法(参见:http://www.breezejs.com/sites/all/apidocs/classes/EntityAspect.html#method_isNavigationPropertyLoaded

即。除非已加载作业实体,否则不要执行验证。