summaryrefslogtreecommitdiffhomepage
path: root/libs
diff options
context:
space:
mode:
Diffstat (limited to 'libs')
-rw-r--r--libs/cbi/luasrc/cbi.lua16
1 files changed, 5 insertions, 11 deletions
diff --git a/libs/cbi/luasrc/cbi.lua b/libs/cbi/luasrc/cbi.lua
index 2e788be5f..6e0845565 100644
--- a/libs/cbi/luasrc/cbi.lua
+++ b/libs/cbi/luasrc/cbi.lua
@@ -729,21 +729,15 @@ function MultiValue.valuelist(self, section)
end
function MultiValue.validate(self, val)
- if not(type(val) == "string") then
- return nil
- end
+ val = (type(val) == "table") and val or {val}
- local result = ""
+ local result
- for value in val:gmatch("[^\n]+") do
+ for i, value in ipairs(val) do
if luci.util.contains(self.keylist, value) then
- result = result .. self.delimiter .. value
+ result = result and (result .. self.delimiter .. value) or value
end
end
- if result:len() > 0 then
- return result:sub(self.delimiter:len() + 1)
- else
- return nil
- end
+ return result
end