app/views/settings/_general.html.erb | 31 +++++++++++++++++++++++++++++++ public/stylesheets/application.css | 4 ++++ 2 files changed, 35 insertions(+) diff --git a/app/views/settings/_general.html.erb b/app/views/settings/_general.html.erb index 4ec0199..27be6e9 100644 --- a/app/views/settings/_general.html.erb +++ b/app/views/settings/_general.html.erb @@ -1,3 +1,34 @@ +<% content_for :header_tags do %> + <%= javascript_tag do %> + var timer; + + function validateInputfield(id,regexp){ + var regexp = new RegExp(regexp); + + if(regexp.test($(id).val())){ + $(id).removeClass('invalid').addClass('valid'); + return true; + } + else{ + $(id).removeClass('valid').addClass('invalid'); + return false; + } + }; + + $('#settings_host_name').live("keypress", function(){ + clearTimeout(timer); + + timer = setTimeout(function(){ + validateInputfield('#settings_host_name','^[^0-9\:\./]+(([^/:@])||(:[0-9]+))+$'); + },500); + }); + $(document).ready(function(){ + validateInputfield('#settings_host_name','^[^0-9\:\./]+(([^/:@])||(:[0-9]+))+$'); + }); + + <% end %> +<% end %> + <%= form_tag({:action => 'edit'}) do %>
diff --git a/public/stylesheets/application.css b/public/stylesheets/application.css index 31e56b8..55eb77d 100644 --- a/public/stylesheets/application.css +++ b/public/stylesheets/application.css @@ -584,6 +584,10 @@ input.autocomplete.ajax-loading { background-image: url(../images/loading.gif); } +input.valid, input.invalid{padding-left:25px !important} +input.valid{background:#fff url("../images/true.png") no-repeat 2px 50%} +input.invalid{background:#fff url("../images/false.png") no-repeat 2px 50%} + /***** Flash & error messages ****/ #errorExplanation, div.flash, .nodata, .warning, .conflict { padding: 4px 4px 4px 30px;