diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2008-08-18 23:43:20 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2008-08-18 23:43:20 +0000 |
commit | e5608ae6b2896b5ad7d9d7c8f73b6ec1efaaddcf (patch) | |
tree | 77e31432a7c7724206e4ff2e691a1dedc268f680 /libs/uvl | |
parent | 50a1f999ce977684e71c2f5f641c8761c80ac731 (diff) |
* luci/libs: fix datatype validation of list values
Diffstat (limited to 'libs/uvl')
-rw-r--r-- | libs/uvl/luasrc/uvl.lua | 14 |
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 "' .. |