Commit 78a21cb745626df1f3c4658c4bd54372f6938b3c
Committed by
Diego Camarinha
1 parent
78b2a140
Exists in
master
and in
28 other branches
[Mezuro] Added validations to ranges. Not working yet.
Showing
6 changed files
with
66 additions
and
10 deletions
Show diff stats
plugins/mezuro/public/javascripts/validations.js
| 1 | 1 | function validate_metric_configuration(){ |
| 2 | - var x=document.forms["configuration_form"]["metric_configuration[code]"].value; | |
| 3 | - if (x==null || x=="") | |
| 2 | + var code=document.forms["configuration_form"]["metric_configuration[code]"].value; | |
| 3 | + if (is_null(code)) | |
| 4 | 4 | { |
| 5 | 5 | alert("Code must be filled out"); |
| 6 | 6 | return false; |
| 7 | 7 | } |
| 8 | 8 | } |
| 9 | + | |
| 10 | +function is_null(value){ | |
| 11 | + if(value == "" || value == null){ | |
| 12 | + return true; | |
| 13 | + } | |
| 14 | + return false; | |
| 15 | +} | |
| 16 | + | |
| 17 | +function IsNotNumeric(value){ | |
| 18 | + if(value.match(/[0-9]*\.?[0-9]+/)) | |
| 19 | + { | |
| 20 | + return false; | |
| 21 | + } | |
| 22 | + return true; | |
| 23 | +} | |
| 24 | + | |
| 25 | +function IsNotHexadecimal(value){ | |
| 26 | + if(value.match(/[0-9a-fA-F]{1,8}/)) | |
| 27 | + { | |
| 28 | + return false; | |
| 29 | + } | |
| 30 | + return true; | |
| 31 | +} | |
| 32 | + | |
| 33 | +function validate_new_range_configuration(){ | |
| 34 | + var label = document.forms["new_range_form"]["range[label]"].value; | |
| 35 | + var beginning = document.forms["new_range_form"]["range[beginning]"].value; | |
| 36 | + var end = document.forms["new_range_form"]["range[end]"].value; | |
| 37 | + var color = document.forms["new_range_form"]["range[color]"].value; | |
| 38 | + var grade = document.forms["new_range_form"]["range[grade]"].value; | |
| 39 | + | |
| 40 | + return false; | |
| 41 | + | |
| 42 | + if (is_null(label) || is_null(beginning) || is_null(end) || is_null(color) || is_null(grade)) | |
| 43 | + { | |
| 44 | + alert("Please fill all fields marked with (*)"); | |
| 45 | + return false; | |
| 46 | + } | |
| 47 | + if (IsNotNumeric(beginning) || IsNotNumeric(end) || IsNotNumeric(grade)) | |
| 48 | + { | |
| 49 | + alert("Beginning, End and Grade must be numeric values"); | |
| 50 | + return false; | |
| 51 | + } | |
| 52 | + if (beginning > end) | |
| 53 | + { | |
| 54 | + alert("End must be greater than Beginning"); | |
| 55 | + return false; | |
| 56 | + } | |
| 57 | + if (IsNotHexadecimal(color)){ | |
| 58 | + alert("Color must be an hexadecimal value"); | |
| 59 | + return false; | |
| 60 | + } | |
| 61 | + return true; | |
| 62 | +} | ... | ... |
plugins/mezuro/views/mezuro_plugin_myprofile/_edit_range.html.erb
| 1 | -<% remote_form_for :range, :url => {:action =>"update_range", :controller => "mezuro_plugin_myprofile"}, :method => :get do |f| %> | |
| 1 | +<% remote_form_for :range, :url => {:action =>"update_range", :controller => "mezuro_plugin_myprofile"}, :method => :get, :html => { :name => "new_range_form", :onSubmit => 'return validate_new_range_configuration()'} do |f| %> | |
| 2 | 2 | <%= hidden_field_tag :beginning_id, beginning_id %> |
| 3 | 3 | <%= render :partial => "range_form", :locals => {:f => f, :metric_name => metric_name, :configuration_name => configuration_name, :beginning_id => beginning_id, :range => range } %> |
| 4 | 4 | <% end %> | ... | ... |
plugins/mezuro/views/mezuro_plugin_myprofile/_new_range.html.erb
| 1 | -<% remote_form_for :range, :url => {:action =>"create_range", :controller => "mezuro_plugin_myprofile"}, :method => :get do |f| %> | |
| 1 | +<% remote_form_for :range, :url => {:action =>"create_range", :controller => "mezuro_plugin_myprofile"}, :method => :get, :html => { :name => "new_range_form", :onSubmit => 'return validate_new_range_configuration()'} do |f| %> | |
| 2 | 2 | <%= render :partial => "range_form", :locals => {:f => f, :metric_name => metric_name, :configuration_name => configuration_name } %> |
| 3 | 3 | <% end %> | ... | ... |
plugins/mezuro/views/mezuro_plugin_myprofile/_range_form.html.erb
| ... | ... | @@ -3,7 +3,7 @@ |
| 3 | 3 | <table> |
| 4 | 4 | <tr> |
| 5 | 5 | <td> |
| 6 | - <%= f.label :label, "Label:" %> | |
| 6 | + <%= f.label :label, "(*) Label:" %> | |
| 7 | 7 | </td> |
| 8 | 8 | <td> |
| 9 | 9 | <%= f.text_field :label %> |
| ... | ... | @@ -11,7 +11,7 @@ |
| 11 | 11 | </tr> |
| 12 | 12 | <tr> |
| 13 | 13 | <td> |
| 14 | - <%= f.label :beginning, "Beginning:" %> | |
| 14 | + <%= f.label :beginning, "(*) Beginning:" %> | |
| 15 | 15 | </td> |
| 16 | 16 | <td> |
| 17 | 17 | <%= f.text_field :beginning %> |
| ... | ... | @@ -19,7 +19,7 @@ |
| 19 | 19 | </tr> |
| 20 | 20 | <tr> |
| 21 | 21 | <td> |
| 22 | - <%= f.label :end, "End:" %> | |
| 22 | + <%= f.label :end, "(*) End:" %> | |
| 23 | 23 | </td> |
| 24 | 24 | <td> |
| 25 | 25 | <%= f.text_field :end %> |
| ... | ... | @@ -27,7 +27,7 @@ |
| 27 | 27 | </tr> |
| 28 | 28 | <tr> |
| 29 | 29 | <td> |
| 30 | - <%= f.label :grade, "Grade:" %> | |
| 30 | + <%= f.label :grade, "(*) Grade:" %> | |
| 31 | 31 | </td> |
| 32 | 32 | <td> |
| 33 | 33 | <%= f.text_field :grade %> |
| ... | ... | @@ -35,7 +35,7 @@ |
| 35 | 35 | </tr> |
| 36 | 36 | <tr> |
| 37 | 37 | <td> |
| 38 | - <%= f.label :color, "Color:" %> | |
| 38 | + <%= f.label :color, "(*) Color:" %> | |
| 39 | 39 | </td> |
| 40 | 40 | <td> |
| 41 | 41 | <%= f.text_field :color %> | ... | ... |
plugins/mezuro/views/mezuro_plugin_myprofile/edit_metric_configuration.html.erb
| 1 | +<script src="/plugins/mezuro/javascripts/validations.js" type="text/javascript"></script> | |
| 2 | + | |
| 1 | 3 | <h2><%= @configuration_name %> Configuration</h2> |
| 2 | 4 | |
| 3 | 5 | <% form_for :metric_configuration, :url => {:action =>"update_metric_configuration", :controller => "mezuro_plugin_myprofile"}, :method => :get do |f| %> | ... | ... |
plugins/mezuro/views/mezuro_plugin_myprofile/new_range.rjs
| 1 | -page.replace_html 'range_form', :partial => "new_range", :locals => {:metric_name => @metric_name, :configuration_name => @configuration_name, :beginning_id => "bolinha" } | |
| 1 | +page.replace_html 'range_form', :partial => "new_range", :locals => {:metric_name => @metric_name, :configuration_name => @configuration_name, :beginning_id => "bolinha" } #FIXME | |
| 2 | 2 | page.visual_effect :slide_down, "range_form" | ... | ... |