Breeze.js z-validate Angular和EF Display / DisplayName数据属性的属性

时间:2014-12-26 18:30:39

标签: angularjs entity-framework validation breeze

我正在使用Breeze.js data-z-validate属性,以便在我的角度应用中显示“开箱即用”验证消息。

Breeze元数据来自EF - 示例模型属性如下所示:

 [MaxLength(100),Required,Display(Name = "My Custom Field Name")]
 public string Name { get; set; }

Breeze验证消息总是带有属性的真实名称,而不是显示名称。例如。 “名称是必需的”。

我希望使用display name属性显示breeze验证消息,因此它将是:

“我的自定义字段名称是必需的”。

我也尝试过使用DisplayName属性:
     [DisplayName(“我的自定义属性”)]

但无论如何我都会得到同样的行为。

我是否遗漏了某些内容或z-validate不允许使用display / displayname属性?获得“友好”验证消息的最佳/推荐方法是什么?

1 个答案:

答案 0 :(得分:0)

我使用的解决方案并非理想,但有效。缺点是友好名称不是实体的一部分,它在一个单独的表中。额外的维护可能不值得一些,但在我的情况下。第一件事是创建一个具有实体名称,属性和友好名称的表。在启动时,我从该表中检索行并循环遍历它,在breeze中更新实体displayName。更新"名称"的显示名称"联系"的财产实体,例如:var eType = manager.metadataStore.getEntityType(" contact"); var dp = eType.getProperty(" name"); dp.displayName ="我的自定义字段名称&#34 ;;理想情况下,它应该是实体定义的一部分,但我不知道当前版本是否支持它。