Commit a571209140cb829a96610d8a236eea49c0adef1e

Authored by Luciano Prestes
1 parent 2c24a16d

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>
lib/mpog_software_plugin.rb
... ... @@ -44,6 +44,7 @@ class MpogSoftwarePlugin &lt; 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 +})();
... ...