summaryrefslogtreecommitdiffhomepage
path: root/libs
diff options
context:
space:
mode:
Diffstat (limited to 'libs')
-rw-r--r--libs/cbi/luasrc/cbi.lua8
-rw-r--r--libs/cbi/luasrc/view/cbi/simpleform.htm6
2 files changed, 11 insertions, 3 deletions
diff --git a/libs/cbi/luasrc/cbi.lua b/libs/cbi/luasrc/cbi.lua
index 3b5a7c1b7..3bb56f36c 100644
--- a/libs/cbi/luasrc/cbi.lua
+++ b/libs/cbi/luasrc/cbi.lua
@@ -287,6 +287,7 @@ end
function SimpleForm.field(self, class, ...)
if instanceof(class, AbstractValue) then
local obj = class(self, ...)
+ obj.track_missing = true
self:append(obj)
return obj
else
@@ -616,6 +617,7 @@ function AbstractValue.__init__(self, map, option, ...)
self.tag_missing = {}
self.deps = {}
+ self.track_missing = false
self.rmempty = false
self.default = nil
self.size = nil
@@ -657,14 +659,14 @@ function AbstractValue.parse(self, section)
if not fvalue then
self.tag_invalid[section] = true
end
- if fvalue and not (fvalue == self:cfgvalue(section)) then
+ if fvalue and not (fvalue == cvalue) then
self:write(section, fvalue)
end
else -- Unset the UCI or error
if self.rmempty or self.optional then
self:remove(section)
- elseif not fvalue or fvalue ~= cvalue then
- --self.tag_missing[section] = true
+ elseif self.track_missing and not fvalue or fvalue ~= cvalue then
+ self.tag_missing[section] = true
end
end
end
diff --git a/libs/cbi/luasrc/view/cbi/simpleform.htm b/libs/cbi/luasrc/view/cbi/simpleform.htm
index 68c8cc916..d2ae401c9 100644
--- a/libs/cbi/luasrc/view/cbi/simpleform.htm
+++ b/libs/cbi/luasrc/view/cbi/simpleform.htm
@@ -29,6 +29,12 @@ $Id$
</fieldset>
<br />
</div>
+<%- if self.message then %>
+ <div><%=self.message%></div>
+<%- end %>
+<%- if self.errmessage then %>
+ <div class="error"><%=self.errmessage%></div>
+<%- end %>
<div>
<%- if self.submit ~= false then %>
<input class="cbi-button-save" type="submit" value="