libs/cbi: Create section after validation to avoid validation errors with empty fields

This commit is contained in:
Steven Barth 2008-08-30 10:18:56 +00:00
parent ccf73ec14e
commit 7e792dad2e

View file

@ -699,35 +699,9 @@ end
function TypedSection.parse(self)
if self.addremove then
-- Create
local crval = CREATE_PREFIX .. self.config .. "." .. self.sectiontype
local name = luci.http.formvalue(crval)
if self.anonymous then
if name then
self:create()
end
else
if name then
-- Ignore if it already exists
if self:cfgvalue(name) then
name = nil;
end
name = self:checkscope(name)
if not name then
self.err_invalid = true
end
if name and #name > 0 then
self:create(name)
end
end
end
-- Remove
crval = REMOVE_PREFIX .. self.config
name = luci.http.formvaluetable(crval)
local crval = REMOVE_PREFIX .. self.config
local name = luci.http.formvaluetable(crval)
for k,v in pairs(name) do
if self:cfgvalue(k) and self:checkscope(k) then
self:remove(k)
@ -765,6 +739,34 @@ function TypedSection.parse(self)
end
AbstractSection.parse_optionals(self, k)
end
if self.addremove then
-- Create
local crval = CREATE_PREFIX .. self.config .. "." .. self.sectiontype
local name = luci.http.formvalue(crval)
if self.anonymous then
if name then
self:create()
end
else
if name then
-- Ignore if it already exists
if self:cfgvalue(name) then
name = nil;
end
name = self:checkscope(name)
if not name then
self.err_invalid = true
end
if name and #name > 0 then
self:create(name)
end
end
end
end
end
-- Verifies scope of sections