summaryrefslogtreecommitdiffhomepage
path: root/libs/uvl
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2008-08-18 23:43:20 +0000
committerJo-Philipp Wich <jow@openwrt.org>2008-08-18 23:43:20 +0000
commite5608ae6b2896b5ad7d9d7c8f73b6ec1efaaddcf (patch)
tree77e31432a7c7724206e4ff2e691a1dedc268f680 /libs/uvl
parent50a1f999ce977684e71c2f5f641c8761c80ac731 (diff)
* luci/libs: fix datatype validation of list values
Diffstat (limited to 'libs/uvl')
-rw-r--r--libs/uvl/luasrc/uvl.lua14
1 files changed, 9 insertions, 5 deletions
diff --git a/libs/uvl/luasrc/uvl.lua b/libs/uvl/luasrc/uvl.lua
index afa3cc7170..361cfc410f 100644
--- a/libs/uvl/luasrc/uvl.lua
+++ b/libs/uvl/luasrc/uvl.lua
@@ -305,11 +305,15 @@ function UVL._validate_option( self, option, nodeps )
if item.datatype and val then
if self.datatypes[item.datatype] then
- if not self.datatypes[item.datatype]( val ) then
- return false, 'Value "' .. ( val or '<nil>' ) ..
- '" of given option "' .. option:cid() ..
- '" does not validate as datatype "' ..
- item.datatype .. '"'
+ val = ( type(val) == "table" and val or { val } )
+ for i, v in ipairs(val) do
+ if not self.datatypes[item.datatype]( v ) then
+ return false, 'Value' .. ( #val>1 and ' #'..i or '' ) ..
+ ' "' .. ( v or '<nil>' ) ..
+ '" of given option "' .. option:cid() ..
+ '" does not validate as datatype "' ..
+ item.datatype .. '"'
+ end
end
else
return false, 'Unknown datatype "' ..