【发布时间】:2013-04-09 15:45:10
【问题描述】:
使用 Breeze 处理以下验证场景的推荐方法是什么?
场景:我有一个包含
startDate、endDate和useDate字段的实体。如果useDate为真,那么我想验证startDate和endDate是有效日期,而endDate>startDate.
Breeze 文档中建议的方法是创建自定义验证器并将其注册到实体上。我在这种方法中看到的问题是,每次这三个属性之一发生更改时,我都需要手动调用validateEntity(),以便将验证错误添加到实体的错误集合中。在单个属性上添加自定义验证器的另一种推荐方法不提供对实体的访问(仅提供当前属性值),因此这也不是一个很好的选择。
我可以订阅实体上的每个 Knockout 属性更改事件,然后调用 validateEntity() 但这似乎很笨拙。
是否有任何方法可以将自定义实体级验证器添加到实体,但将其与一个或多个属性相关联,以便在相关属性之一发生更改时调用实体级验证器? Breeze 似乎在这里遗漏了一个常见的验证用例场景,但我可能遗漏了一些东西。
谢谢,理查德
【问题讨论】:
标签: breeze