これは完全なロングショットです。過去2時間以内に同じエラーが発生し、かなり混乱しました。結局breeze.debug.jsにデバッグし、保存しようとしていた無効な日付があることを発見しました。日付の問題を修正すると(すべてをUTCに変換)、Should be empty:[]メッセージが消えました。とにかく、BreezeのvalidateTargetメソッドで失敗していた実際の検証を3604行目で確認できました。実際のチェックは、3615行目で実行されました。
これがあなたに役立つかどうかはわかりませんが、同じエラーが表示されただけなので、私の経験を共有するのは害があると思いました。
参考までに、詳細についてデバッグした検証方法を次に示します。
function validateTarget(target) {
var ok = true;
var stype = target.entityType || target.complexType;
var aspect = target.entityAspect || target.complexAspect;
var entityAspect = target.entityAspect || target.complexAspect.entityAspect;
stype.getProperties().forEach(function (p) {
var value = target.getProperty(p.name);
var propName = aspect.propertyPath ? aspect.propertyPath + "." + p.name : p.name;
if (p.validators.length > 0) {
var context = { entity: entityAspect.entity, property: p, propertyName: propName };
ok = entityAspect._validateProperty(value, context) && ok; //This is where I put my break point to see what was actually failing.
}
if (p.isComplexProperty) {
ok = validateTarget(value) && ok;
}
});