diff options
-rw-r--r-- | libs/web/htdocs/luci-static/resources/cbi.js | 6 | ||||
-rw-r--r-- | libs/web/luasrc/cbi/datatypes.lua | 5 |
2 files changed, 8 insertions, 3 deletions
diff --git a/libs/web/htdocs/luci-static/resources/cbi.js b/libs/web/htdocs/luci-static/resources/cbi.js index 5eee59c347..123e8e1aba 100644 --- a/libs/web/htdocs/luci-static/resources/cbi.js +++ b/libs/web/htdocs/luci-static/resources/cbi.js @@ -151,8 +151,10 @@ var cbi_validators = { }, 'hostname': function(v) - { if ( v.length <= 253 ) - return (v.match(/^[a-zA-Z0-9][a-zA-Z0-9\-.]*[a-zA-Z0-9]$/) != null); + { + if (v.length <= 253) + return (v.match(/^[a-zA-Z0-9]+$/) != null || + v.match(/^[a-zA-Z0-9][a-zA-Z0-9\-.]*[a-zA-Z0-9]$/) != null); return false; }, diff --git a/libs/web/luasrc/cbi/datatypes.lua b/libs/web/luasrc/cbi/datatypes.lua index fc3048e37e..3c768ab762 100644 --- a/libs/web/luasrc/cbi/datatypes.lua +++ b/libs/web/luasrc/cbi/datatypes.lua @@ -141,7 +141,10 @@ function macaddr(val) end function hostname(val) - if val and (#val < 254) and val.match(val, "^[a-zA-Z0-9][a-zA-Z0-9%-%.]*[a-zA-Z0-9]$") then + if val and (#val < 254) and ( + val:match("^[a-zA-Z0-9]+$") or + val:match("^[a-zA-Z0-9][a-zA-Z0-9%-%.]*[a-zA-Z0-9]$") + ) then return true end return false |