Commit a571209140cb829a96610d8a236eea49c0adef1e

Authored by Luciano Prestes
1 parent 2c24a16d
Exists in master and in 79 other branches add_sisp_to_chef, add_super_archives_plugin, api_for_colab, automates_core_packing, backup_not_prod, changes_in_buttons_on_content_panel, colab_automated_login, colab_spb_plugin_recipe, colab_widgets_settings, design_validation, dev_env_minimal, disable_email_dev, fix_breadcrumbs_position, fix_categories_software_link, fix_edit_institution, fix_edit_software_with_another_license, fix_get_license_info, fix_gitlab_assets_permission, fix_list_style_inside_article, fix_list_style_on_folder_elements, fix_members_pagination, fix_merge_request_url, fix_models_translations, fix_no_license, fix_software_api, fix_software_block_migration, fix_software_communities_translations, fix_software_communities_unit_test, fix_style_create_institution_admin_panel, fix_superarchives_imports, fix_sym_links_noosfero, focus_search_field_theme, gov-user-refactoring, gov-user-refactoring-rails4, header_fix, institution_modal_on_rating, kalibro-conf-refactoring, kalibro-processor-package, lxc_settings, margin_fix, mezuro_cookbook, prezento, refactor_download_block, refactor_software_communities, refactor_software_for_sisp, register_page, release-process, release-process-v2, remove-unused-images, remove_broken_theme, remove_secondary_email_from_user, remove_sisp_buttons, removing_super_archives_email, review_message, scope2method, signals_user_noosfero, sisp_catalog_header, sisp_colab_config, sisp_dev, sisp_dev_master, sisp_simple_version, software_as_organization, software_catalog_style_fix, software_communities_html_refactor, software_infos_api, spb_minimal_env, spb_to_rails4, spec_refactor, stable-4.1, stable-4.2, stable-4.x, temp_soft_comm_refactoring, theme_header, theme_javascript_refactory, thread_dropdown, thread_page, update_search_by_categories, update_software_api, update_softwares_boxes

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 +})();
... ...