我有一個用例,我想訪問我的BreezeJS EntityManager中的任何實體是否有驗證錯誤。基本上是EntityManager上的「hasValidationErrors」。BreezeJS:檢查是否有實體有驗證錯誤
用例只是簡單地說我想禁用UI上的「保存更改」按鈕,並且由於我使用的是Angular Binding系統,它應該是一個快速操作。
對我來說,這似乎並不存在,我想知道是否有任何簡單的解決方法或任何實際的方法來完成它。
我來最接近的是以下幾點:
var mgr = new breeze.EntityManager(
{
serviceName: "/breeze/Model/"
});
var errorCount = 0;
mgr.validationErrorsChanged.subscribe(function (validationChangeArgs) {
var added = validationChangeArgs.added;
if (added) {
errorCount += added.length;
}
var removed = validationChangeArgs.removed;
if (removed) {
errorCount -= removed.length;
}
});
,然後使用ERRORCOUNT,看看是否有任何驗證錯誤。但是這種方法沒有考慮到實體在驗證錯誤時是否被分離。 (例如,通過在EntityManager上調用rejectChanges())。
它也感覺像一個非常「黑客」的做法。
您是否檢查過有關驗證的文檔? http://www.breezejs.com/documentation/validation –