diff options
Diffstat (limited to 'acf2/model/node.lua')
-rw-r--r-- | acf2/model/node.lua | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/acf2/model/node.lua b/acf2/model/node.lua index d9d095d..711680e 100644 --- a/acf2/model/node.lua +++ b/acf2/model/node.lua @@ -1,5 +1,5 @@ --[[ -Copyright (c) 2012-2013 Kaarle Ritvanen +Copyright (c) 2012-2014 Kaarle Ritvanen See LICENSE file for license details --]] @@ -264,7 +264,17 @@ function M.Collection:init(context, params, dtype) if not params.editable then raise(mt.path, 'Collection is not editable') end + mt.check_removable(k, v) + + if params.key then + local kf = M.BoundMember(self, k, params.key) + if kf:normalize(k) ~= k then + raise(mt.path, 'Invalid member name: '..k) + end + kf:validate(k) + end + mt.member(k):save(v) end end |