diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2011-12-16 05:52:24 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2011-12-16 05:52:24 +0000 |
commit | 3a0905f21cb1afe307402cb8ea1d89096f28c141 (patch) | |
tree | 051bf3027671eba27184035f916466d9537cf022 /libs/web/htdocs/luci-static/resources | |
parent | ca7bc48ebc0b1f655088eaae89bd358556dc8824 (diff) |
libs/web: add list(...) datatype for space separated lists of arbritary datatypes
Diffstat (limited to 'libs/web/htdocs/luci-static/resources')
-rw-r--r-- | libs/web/htdocs/luci-static/resources/cbi.js | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/libs/web/htdocs/luci-static/resources/cbi.js b/libs/web/htdocs/luci-static/resources/cbi.js index d1e34d178..8d32b669d 100644 --- a/libs/web/htdocs/luci-static/resources/cbi.js +++ b/libs/web/htdocs/luci-static/resources/cbi.js @@ -234,6 +234,24 @@ var cbi_validators = { return cbi_validators[args[0]](v.replace(/^\s*!\s*/, '')); return false; + }, + + 'list': function(v, args) + { + var cb = cbi_validators[args[0] || 'string']; + if (typeof cb == "function") + { + var cbargs = args.slice(1); + var values = v.match(/[^\s]+/g); + + for (var i = 0; i < values.length; i++) + if (!cb(values[i], cbargs)) + return false; + + return true; + } + + return false; } }; |