diff options
Diffstat (limited to 'web/transaction.js')
-rw-r--r-- | web/transaction.js | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/web/transaction.js b/web/transaction.js index b4c9aa5..26a8c35 100644 --- a/web/transaction.js +++ b/web/transaction.js @@ -84,11 +84,15 @@ define( }); } + function invalidSubordinates() { + return findSubordinateKeys(invalid, path); + } + var set = data.meta.type == "set"; if (type.isCollection(data.meta) && !set) { var level = pth.split(path).length; - _.each(findSubordinateKeys(invalid, path), function(p) { + _.each(invalidSubordinates(), function(p) { ensureKeyPresence(pth.split(p)[level]); }); } @@ -125,6 +129,10 @@ define( return null; }; + data.isSubtreeValid = function() { + return !_.size(invalidSubordinates(invalid, path)); + }; + data.validate = function() { var valid = true; if (data.meta.required) { |