diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2010-04-26 21:42:10 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2010-04-26 21:42:10 +0000 |
commit | ee36ef41700af6941ed8d2ad8b0d94e68e43e9a6 (patch) | |
tree | 904882534a14f0a193a9880e129129b7282b3585 /libs/cbi/luasrc/view | |
parent | d311e5ebcd30bdca656af89c20cea9de34934a79 (diff) |
libs/cbi: implement realtime client side input validation for Value and DynamicList fields
Diffstat (limited to 'libs/cbi/luasrc/view')
-rw-r--r-- | libs/cbi/luasrc/view/cbi/header.htm | 4 | ||||
-rw-r--r-- | libs/cbi/luasrc/view/cbi/value.htm | 9 |
2 files changed, 9 insertions, 4 deletions
diff --git a/libs/cbi/luasrc/view/cbi/header.htm b/libs/cbi/luasrc/view/cbi/header.htm index bece16bb2a..fd1ab8bd1a 100644 --- a/libs/cbi/luasrc/view/cbi/header.htm +++ b/libs/cbi/luasrc/view/cbi/header.htm @@ -1,7 +1,7 @@ <%# LuCI - Lua Configuration Interface Copyright 2008 Steven Barth <steven@midlink.org> -Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net> +Copyright 2008-2010 Jo-Philipp Wich <xm@subsignal.org> Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ $Id$ -%> <%+header%> -<form method="post" name="cbi" action="<%=REQUEST_URI%>" enctype="multipart/form-data"> +<form method="post" name="cbi" action="<%=REQUEST_URI%>" enctype="multipart/form-data" onreset="return cbi_validate_reset(this)" onsubmit="return cbi_validate_form(this, '<%:Some fields are invalid, cannot save values!%>')"> <div> <script type="text/javascript" src="<%=resource%>/cbi.js"></script> <input type="hidden" name="cbi.submit" value="1" /> diff --git a/libs/cbi/luasrc/view/cbi/value.htm b/libs/cbi/luasrc/view/cbi/value.htm index 8bdebd902f..a7b49de7ff 100644 --- a/libs/cbi/luasrc/view/cbi/value.htm +++ b/libs/cbi/luasrc/view/cbi/value.htm @@ -1,7 +1,7 @@ <%# LuCI - Lua Configuration Interface Copyright 2008 Steven Barth <steven@midlink.org> -Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net> +Copyright 2008-2010 Jo-Philipp Wich <xm@subsignal.org> Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -15,8 +15,9 @@ $Id$ <%+cbi/valueheader%> <input type="<%=self.password and 'password" class="cbi-input-password' or 'text" class="cbi-input-text' %>" onchange="cbi_d_update(this.id)"<%= attr("name", cbid) .. attr("id", cbid) .. attr("value", self:cfgvalue(section) or self.default) .. ifattr(self.size, "size")%> /> <% if self.password then %><img src="<%=resource%>/cbi/reload.gif" style="vertical-align:middle" title="<%:Reveal/hide password%>" onclick="var e = document.getElementById('<%=cbid%>'); e.type = (e.type=='password') ? 'text' : 'password';" /><% end %> - <% if #self.keylist > 0 then -%> + <% if #self.keylist > 0 or self.datatype then -%> <script type="text/javascript"> + <% if #self.keylist > 0 then -%> cbi_combobox_init('<%=cbid%>', { <%- for i, k in ipairs(self.keylist) do @@ -34,6 +35,10 @@ $Id$ <%- else -%> <%-: -- custom -- -%> <%- end -%>'); + <%- end %> + <% if self.datatype then -%> + cbi_validate_field('<%=cbid%>', <%=tostring(self.optional == true)%>, '<%=self.datatype%>'); + <%- end %> </script> <% end -%> <%+cbi/valuefooter%> |