Skip validation of options on second parse cycle

This commit is contained in:
Steven Barth 2008-11-06 21:00:16 +00:00
parent 4869b91bc3
commit a5cb3b04cb

View file

@ -987,7 +987,7 @@ function TypedSection.parse(self, novld)
for i, k in ipairs(self:cfgsections()) do for i, k in ipairs(self:cfgsections()) do
AbstractSection.parse_dynamic(self, k) AbstractSection.parse_dynamic(self, k)
if self.map:submitstate() then if self.map:submitstate() then
Node.parse(self, k) Node.parse(self, k, novld)
if not novld and not self.override_scheme and self.map.scheme then if not novld and not self.override_scheme and self.map.scheme then
_uvl_validate_section(self, k) _uvl_validate_section(self, k)
@ -1168,13 +1168,13 @@ function AbstractValue.mandatory(self, value)
self.rmempty = not value self.rmempty = not value
end end
function AbstractValue.parse(self, section) function AbstractValue.parse(self, section, novld)
local fvalue = self:formvalue(section) local fvalue = self:formvalue(section)
local cvalue = self:cfgvalue(section) local cvalue = self:cfgvalue(section)
if fvalue and #fvalue > 0 then -- If we have a form value, write it to UCI if fvalue and #fvalue > 0 then -- If we have a form value, write it to UCI
fvalue = self:transform(self:validate(fvalue, section)) fvalue = self:transform(self:validate(fvalue, section))
if not fvalue then if not fvalue and not novld then
if self.error then if self.error then
self.error[section] = "invalid" self.error[section] = "invalid"
else else
@ -1196,7 +1196,7 @@ function AbstractValue.parse(self, section)
self.section.changed = true self.section.changed = true
--luci.util.append(self.map.events, self.events) --luci.util.append(self.map.events, self.events)
end end
elseif cvalue ~= fvalue then elseif cvalue ~= fvalue and not novld then
self:write(section, fvalue or "") self:write(section, fvalue or "")
if self.error then if self.error then
self.error[section] = "missing" self.error[section] = "missing"