diff options
-rw-r--r-- | libs/cbi/luasrc/cbi.lua | 14 | ||||
-rw-r--r-- | libs/cbi/luasrc/view/cbi/cell_valueheader.htm | 2 | ||||
-rw-r--r-- | libs/cbi/luasrc/view/cbi/full_valueheader.htm | 2 | ||||
-rw-r--r-- | libs/cbi/luasrc/view/cbi/tblsection.htm | 4 | ||||
-rw-r--r-- | libs/cbi/luasrc/view/cbi/ucisection.htm | 4 |
5 files changed, 19 insertions, 7 deletions
diff --git a/libs/cbi/luasrc/cbi.lua b/libs/cbi/luasrc/cbi.lua index 09ba553ec..c1eefca5d 100644 --- a/libs/cbi/luasrc/cbi.lua +++ b/libs/cbi/luasrc/cbi.lua @@ -89,7 +89,11 @@ local function _uvl_validate_section(node, name) local function tag_fields(e) if e.option and node.fields[e.option] then - node.fields[e.option].error = e + if node.fields[e.option].error then + node.fields[e.option].error[name] = e + else + node.fields[e.option].error = { [name] = e } + end elseif e.childs then for _, c in ipairs(e.childs) do tag_fields(c) end end @@ -104,7 +108,13 @@ local function _uvl_validate_section(node, name) table.insert( s, c:string() ) end end - if #s > 0 then node.error = s end + if #s > 0 then + if node.error then + node.error[name] = s + else + node.error = { [name] = s } + end + end end local stat, err = node.map.validator:validate_section(node.config, name, co) diff --git a/libs/cbi/luasrc/view/cbi/cell_valueheader.htm b/libs/cbi/luasrc/view/cbi/cell_valueheader.htm index 9a065a3da..dda17463c 100644 --- a/libs/cbi/luasrc/view/cbi/cell_valueheader.htm +++ b/libs/cbi/luasrc/view/cbi/cell_valueheader.htm @@ -13,4 +13,4 @@ $Id$ -%> -<td class="cbi-value-field<% if self.error then %> cbi-value-error<% end %>" id="cbi-<%=self.config.."-"..section.."-"..self.option%>"> +<td class="cbi-value-field<% if self.error and self.error[section] then %> cbi-value-error<% end %>" id="cbi-<%=self.config.."-"..section.."-"..self.option%>"> diff --git a/libs/cbi/luasrc/view/cbi/full_valueheader.htm b/libs/cbi/luasrc/view/cbi/full_valueheader.htm index fed2412f0..cbeda755b 100644 --- a/libs/cbi/luasrc/view/cbi/full_valueheader.htm +++ b/libs/cbi/luasrc/view/cbi/full_valueheader.htm @@ -13,7 +13,7 @@ $Id$ -%> -<div class="cbi-value<% if self.error then %> cbi-value-error<% end %>" id="cbi-<%=self.config.."-"..section.."-"..self.option%>"> +<div class="cbi-value<% if self.error and self.error[section] then %> cbi-value-error<% end %>" id="cbi-<%=self.config.."-"..section.."-"..self.option%>"> <%- if self.title and #self.title > 0 then -%> <label class="cbi-value-title"<%= attr("for", cbid) %>> <%- if self.titleref then -%><a title="<%=self.titledesc or translate('cbi_gorel')%>" class="cbi-title-ref" href="<%=self.titleref%>"><%- end -%> diff --git a/libs/cbi/luasrc/view/cbi/tblsection.htm b/libs/cbi/luasrc/view/cbi/tblsection.htm index 5a2b24734..49930f848 100644 --- a/libs/cbi/luasrc/view/cbi/tblsection.htm +++ b/libs/cbi/luasrc/view/cbi/tblsection.htm @@ -100,7 +100,9 @@ end <% if self.error then %> <div class="cbi-section-error"> - <ul><% for _, e in ipairs(self.error) do %><li><%=luci.util.pcdata(e):gsub("\n","<br />")%></li><% end %></ul> + <ul><% for _, c in pairs(self.error) do for _, e in ipairs(c) do -%> + <li><%=luci.util.pcdata(e):gsub("\n","<br />")%></li> + <%- end end %></ul> </div> <% end %> diff --git a/libs/cbi/luasrc/view/cbi/ucisection.htm b/libs/cbi/luasrc/view/cbi/ucisection.htm index feab18e62..92343bba2 100644 --- a/libs/cbi/luasrc/view/cbi/ucisection.htm +++ b/libs/cbi/luasrc/view/cbi/ucisection.htm @@ -15,9 +15,9 @@ $Id$ <% self:render_children(section, scope or {}) %> -<% if self.error then -%> +<% if self.error and self.error[section] then -%> <div class="cbi-section-error"> - <ul><% for _, e in ipairs(self.error) do %><li><%=luci.util.pcdata(e):gsub("\n","<br />")%></li><% end %></ul> + <ul><% for _, e in ipairs(self.error[section]) do %><li><%=luci.util.pcdata(e):gsub("\n","<br />")%></li><% end %></ul> </div> <%- end %> |