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 | 44 | link_to(_("Create new institution"), "#", :id=>"create_institution_link", :class=>'button with-text icon-add')+ |
| 45 | 45 | hidden_field_tag("user[institution_ids][]", "", :class => 'user_institutions')+ |
| 46 | 46 | hidden_field_tag("institution_selected", "")+ |
| 47 | + hidden_field_tag("full_name_error", _("Should begin with a capital letter and no special characters"))+ | |
| 47 | 48 | content_tag("ul", "",:class=>"institutions_added")+ |
| 48 | 49 | content_tag(:div, "", :id=>"institution_dialog") |
| 49 | 50 | ), | ... | ... |
public/mpog-user-validations.js
| ... | ... | @@ -81,7 +81,6 @@ |
| 81 | 81 | if( last.length == 3 ) { |
| 82 | 82 | var move = jQuery(this).val().substr( jQuery(this).val().indexOf("-") - 1, 1 ); |
| 83 | 83 | var lastfour = move + last; |
| 84 | - | |
| 85 | 84 | var first = jQuery(this).val().substr( 0, 9 ); |
| 86 | 85 | |
| 87 | 86 | jQuery(this).val( first + '-' + lastfour ); |
| ... | ... | @@ -91,17 +90,10 @@ |
| 91 | 90 | |
| 92 | 91 | function set_full_name_validation() { |
| 93 | 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 | 99 | jQuery("#profile_data_name").blur(function(){ |
| ... | ... | @@ -110,8 +102,16 @@ |
| 110 | 102 | if( this.value.length > 0 ) { |
| 111 | 103 | if( is_invalid_formated(this.value) ) { |
| 112 | 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 | 112 | } else { |
| 114 | 113 | jQuery(this).removeClass("invalid").addClass("validated"); |
| 114 | + jQuery(".full_name_error").hide(); | |
| 115 | 115 | } |
| 116 | 116 | } |
| 117 | 117 | }); |
| ... | ... | @@ -146,4 +146,4 @@ |
| 146 | 146 | set_full_name_validation(); |
| 147 | 147 | }, 2000); |
| 148 | 148 | }); |
| 149 | -})(); | |
| 150 | 149 | \ No newline at end of file |
| 150 | +})(); | ... | ... |