libs/web: implement minlength(), maxlength() and rangelength() datatypes
This commit is contained in:
parent
66eec98a57
commit
6780f757d6
2 changed files with 62 additions and 1 deletions
|
@ -216,6 +216,33 @@ var cbi_validators = {
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
'rangelength': function(min, max)
|
||||||
|
{
|
||||||
|
var val = '' + this;
|
||||||
|
if (!isNaN(min) && !isNaN(max))
|
||||||
|
return ((val.length >= min) && (val.length <= max));
|
||||||
|
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
|
||||||
|
'minlength': function(min)
|
||||||
|
{
|
||||||
|
var val = '' + this;
|
||||||
|
if (!isNaN(min))
|
||||||
|
return (val.length >= min);
|
||||||
|
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
|
||||||
|
'maxlength': function(max)
|
||||||
|
{
|
||||||
|
var val = '' + this;
|
||||||
|
if (!isNaN(max))
|
||||||
|
return (val.length <= max);
|
||||||
|
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
|
||||||
'or': function()
|
'or': function()
|
||||||
{
|
{
|
||||||
for (var i = 0; i < arguments.length; i += 2)
|
for (var i = 0; i < arguments.length; i += 2)
|
||||||
|
|
|
@ -17,7 +17,7 @@ local fs = require "nixio.fs"
|
||||||
local ip = require "luci.ip"
|
local ip = require "luci.ip"
|
||||||
local math = require "math"
|
local math = require "math"
|
||||||
local util = require "luci.util"
|
local util = require "luci.util"
|
||||||
local tonumber, type, unpack, select = tonumber, type, unpack, select
|
local tonumber, tostring, type, unpack, select = tonumber, tostring, type, unpack, select
|
||||||
|
|
||||||
|
|
||||||
module "luci.cbi.datatypes"
|
module "luci.cbi.datatypes"
|
||||||
|
@ -306,6 +306,40 @@ function max(val, max)
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function rangelength(val, min, max)
|
||||||
|
val = tostring(val)
|
||||||
|
min = tonumber(min)
|
||||||
|
max = tonumber(max)
|
||||||
|
|
||||||
|
if val ~= nil and min ~= nil and max ~= nil then
|
||||||
|
return ((#val >= min) and (#val <= max))
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
function minlength(val, min)
|
||||||
|
val = tostring(val)
|
||||||
|
min = tonumber(min)
|
||||||
|
|
||||||
|
if val ~= nil and min ~= nil then
|
||||||
|
return (#val >= min)
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
function maxlength(val, max)
|
||||||
|
val = tostring(val)
|
||||||
|
max = tonumber(max)
|
||||||
|
|
||||||
|
if val ~= nil and max ~= nil then
|
||||||
|
return (#val <= max)
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
function phonedigit(val)
|
function phonedigit(val)
|
||||||
return (val:match("^[0-9\*#]+$") ~= nil)
|
return (val:match("^[0-9\*#]+$") ~= nil)
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue