Changeset 7165

Show
Ignore:
Timestamp:
06/17/11 11:52:49 (2 years ago)
Author:
jow
Message:

libs/web: add new datatypes min(...), max(...) and neg_network_ip4addr

Location:
luci/trunk/libs/web
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • luci/trunk/libs/web/htdocs/luci-static/resources/cbi.js

    r6983 r7165  
    33 
    44    Copyright 2008 Steven Barth <steven@midlink.org> 
    5     Copyright 2008-2010 Jo-Philipp Wich <xm@subsignal.org> 
     5    Copyright 2008-2011 Jo-Philipp Wich <xm@subsignal.org> 
    66 
    77    Licensed under the Apache License, Version 2.0 (the "License"); 
     
    154154    {   if ( v.length <= 253 ) 
    155155            return (v.match(/^[a-zA-Z0-9][a-zA-Z0-9\-.]*[a-zA-Z0-9]$/) != null); 
     156 
     157        return false; 
    156158    }, 
    157159 
     
    180182    }, 
    181183 
     184    'neg_network_ip4addr': function(v) 
     185    { 
     186        v = v.replace(/^\s*!/, ""); 
     187        return cbi_validators.uciname(v) || cbi_validators.ip4addr(v);       
     188    }, 
     189 
    182190    'range': function(v, args) 
    183191    { 
     
    188196        if (!isNaN(min) && !isNaN(max) && !isNaN(val)) 
    189197            return ((val >= min) && (val <= max)); 
     198 
     199        return false; 
     200    }, 
     201 
     202    'min': function(v, args) 
     203    { 
     204        var min = parseInt(args[0]); 
     205        var val = parseInt(v); 
     206 
     207        if (!isNaN(min) && !isNaN(val)) 
     208            return (val >= min); 
     209 
     210        return false; 
     211    }, 
     212 
     213    'max': function(v, args) 
     214    { 
     215        var max = parseInt(args[0]); 
     216        var val = parseInt(v); 
     217 
     218        if (!isNaN(max) && !isNaN(val)) 
     219            return (val <= max); 
    190220 
    191221        return false; 
  • luci/trunk/libs/web/luasrc/cbi/datatypes.lua

    r6983 r7165  
    228228end 
    229229 
     230function neg_network_ip4addr(val) 
     231    if type(v) == "string" then 
     232        v = v:gsub("^%s*!", "") 
     233        return (uciname(v) or ip4addr(v)) 
     234    end  
     235end 
     236 
    230237function range(val, min, max) 
    231238    val = tonumber(val) 
     
    239246    return false 
    240247end 
     248 
     249function min(val, min) 
     250    val = tonumber(val) 
     251    min = tonumber(min) 
     252 
     253    if val ~= nil and min ~= nil then 
     254        return (val >= min) 
     255    end 
     256 
     257    return false 
     258end 
     259 
     260function max(val, max) 
     261    val = tonumber(val) 
     262    max = tonumber(max) 
     263 
     264    if val ~= nil and max ~= nil then 
     265        return (val <= max) 
     266    end 
     267 
     268    return false 
     269end