summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--libs/web/htdocs/luci-static/resources/cbi.js6
-rw-r--r--libs/web/luasrc/cbi/datatypes.lua5
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