Commit a571209140cb829a96610d8a236eea49c0adef1e
1 parent
2c24a16d
Exists in
master
and in
5 other branches
Fix regex to validade alphanumeric Full Name and show error message to user
Signed-off-by: David Carlos <ddavidcarlos1392@gmail.com> Signed-off-by: Fabio Teixeira <fabio1079@gmail.com> Signed-off-by: Luciano Prestes <lucianopcbr@gmail.com>
Showing
2 changed files
with
13 additions
and
12 deletions
Show diff stats
lib/mpog_software_plugin.rb
@@ -44,6 +44,7 @@ class MpogSoftwarePlugin < Noosfero::Plugin | @@ -44,6 +44,7 @@ class MpogSoftwarePlugin < Noosfero::Plugin | ||
44 | link_to(_("Create new institution"), "#", :id=>"create_institution_link", :class=>'button with-text icon-add')+ | 44 | link_to(_("Create new institution"), "#", :id=>"create_institution_link", :class=>'button with-text icon-add')+ |
45 | hidden_field_tag("user[institution_ids][]", "", :class => 'user_institutions')+ | 45 | hidden_field_tag("user[institution_ids][]", "", :class => 'user_institutions')+ |
46 | hidden_field_tag("institution_selected", "")+ | 46 | hidden_field_tag("institution_selected", "")+ |
47 | + hidden_field_tag("full_name_error", _("Should begin with a capital letter and no special characters"))+ | ||
47 | content_tag("ul", "",:class=>"institutions_added")+ | 48 | content_tag("ul", "",:class=>"institutions_added")+ |
48 | content_tag(:div, "", :id=>"institution_dialog") | 49 | content_tag(:div, "", :id=>"institution_dialog") |
49 | ), | 50 | ), |
public/mpog-user-validations.js
@@ -81,7 +81,6 @@ | @@ -81,7 +81,6 @@ | ||
81 | if( last.length == 3 ) { | 81 | if( last.length == 3 ) { |
82 | var move = jQuery(this).val().substr( jQuery(this).val().indexOf("-") - 1, 1 ); | 82 | var move = jQuery(this).val().substr( jQuery(this).val().indexOf("-") - 1, 1 ); |
83 | var lastfour = move + last; | 83 | var lastfour = move + last; |
84 | - | ||
85 | var first = jQuery(this).val().substr( 0, 9 ); | 84 | var first = jQuery(this).val().substr( 0, 9 ); |
86 | 85 | ||
87 | jQuery(this).val( first + '-' + lastfour ); | 86 | jQuery(this).val( first + '-' + lastfour ); |
@@ -91,17 +90,10 @@ | @@ -91,17 +90,10 @@ | ||
91 | 90 | ||
92 | function set_full_name_validation() { | 91 | function set_full_name_validation() { |
93 | function is_invalid_formated(text) { | 92 | function is_invalid_formated(text) { |
94 | - slices = text.split(" "); | ||
95 | - | ||
96 | - var reg = /(^|\s)([a-z]|[0-9]|([&\/\\#,+()$~%.'":*?<>{}!@\-\[\]]))/g; | ||
97 | - | ||
98 | - for(var i = 0; i < slices.length; i++) { | ||
99 | - if( reg.test(slices[i]) ) { | ||
100 | - return true; | ||
101 | - } | ||
102 | - } | 93 | + var reg_firsts_char = /(^|\s)([a-z]|[0-9])/g; |
94 | + var reg_special_char = /[^\w\*\s*]/g; | ||
103 | 95 | ||
104 | - return false; | 96 | + return reg_firsts_char.test(text) || reg_special_char.test(text); |
105 | } | 97 | } |
106 | 98 | ||
107 | jQuery("#profile_data_name").blur(function(){ | 99 | jQuery("#profile_data_name").blur(function(){ |
@@ -110,8 +102,16 @@ | @@ -110,8 +102,16 @@ | ||
110 | if( this.value.length > 0 ) { | 102 | if( this.value.length > 0 ) { |
111 | if( is_invalid_formated(this.value) ) { | 103 | if( is_invalid_formated(this.value) ) { |
112 | jQuery(this).removeClass("validated").addClass("invalid"); | 104 | jQuery(this).removeClass("validated").addClass("invalid"); |
105 | + | ||
106 | + if(!jQuery(".full_name_error")[0]) { | ||
107 | + var message = jQuery("#full_name_error").val(); | ||
108 | + jQuery(this).parent().append("<span class='full_name_error'>"+message+"</span>"); | ||
109 | + } else { | ||
110 | + jQuery(".full_name_error").show(); | ||
111 | + } | ||
113 | } else { | 112 | } else { |
114 | jQuery(this).removeClass("invalid").addClass("validated"); | 113 | jQuery(this).removeClass("invalid").addClass("validated"); |
114 | + jQuery(".full_name_error").hide(); | ||
115 | } | 115 | } |
116 | } | 116 | } |
117 | }); | 117 | }); |
@@ -146,4 +146,4 @@ | @@ -146,4 +146,4 @@ | ||
146 | set_full_name_validation(); | 146 | set_full_name_validation(); |
147 | }, 2000); | 147 | }, 2000); |
148 | }); | 148 | }); |
149 | -})(); | ||
150 | \ No newline at end of file | 149 | \ No newline at end of file |
150 | +})(); |