Commit e1df99fbd9232b4d22de4fa9a55ae7b7269fd176
1 parent
1f4a8040
Exists in
master
and in
5 other branches
correcoes_aderencia: Fix full name regex bug
Signed-off-by: Fabio Teixeira <fabio1079@gmail.com> Signed-off-by: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>
Showing
3 changed files
with
22 additions
and
3 deletions
Show diff stats
lib/ext/person.rb
... | ... | @@ -60,8 +60,17 @@ class Person |
60 | 60 | def validate_full_name |
61 | 61 | reg_firsts_char = /(^|\s)([a-z]|[0-9])/ |
62 | 62 | reg_special_char = /[^\w\*\s]/ |
63 | + invalid = false | |
63 | 64 | |
64 | - invalid = reg_firsts_char.match(self.name) || reg_special_char.match(self.name) | |
65 | + return false if self.name.blank? | |
66 | + | |
67 | + self.name.split(" ").each do |value| | |
68 | + invalid = if value.length > 3 | |
69 | + reg_firsts_char.match(value) || reg_special_char.match(value) | |
70 | + else | |
71 | + reg_special_char.match(value) | |
72 | + end | |
73 | + end | |
65 | 74 | |
66 | 75 | if invalid |
67 | 76 | self.errors.add(:name, _("Should begin with a capital letter and no special characters")) | ... | ... |
public/mpog-user-validations.js
... | ... | @@ -92,8 +92,18 @@ |
92 | 92 | function is_invalid_formated(text) { |
93 | 93 | var reg_firsts_char = /(^|\s)([a-z]|[0-9])/g; |
94 | 94 | var reg_special_char = /[^\w\*\s*]/g; |
95 | + var invalid = false; | |
96 | + var slices = text.split(" "); | |
97 | + | |
98 | + for(var i = 0; i < slices.length; i++) { | |
99 | + if( slices[i].length > 3 ) { | |
100 | + invalid = reg_firsts_char.test(slices[i]) || reg_special_char.test(slices[i]); | |
101 | + } else { | |
102 | + invalid = reg_special_char.test(slices[i]); | |
103 | + } | |
104 | + } | |
95 | 105 | |
96 | - return reg_firsts_char.test(text) || reg_special_char.test(text); | |
106 | + return invalid; | |
97 | 107 | } |
98 | 108 | |
99 | 109 | function show_full_name_error_message() { | ... | ... |
test/unit/mpog_person_test.rb
... | ... | @@ -2,7 +2,7 @@ require File.dirname(__FILE__) + '/../../../../test/test_helper' |
2 | 2 | |
3 | 3 | class MpogSoftwarePluginPersonTest < ActiveSupport::TestCase |
4 | 4 | should 'save person with a valid full name' do |
5 | - p = Person::new :name=>"S1mpl3 N4m3", :identifier=>"simple-name" | |
5 | + p = Person::new :name=>"S1mpl3 0f N4m3", :identifier=>"simple-name" | |
6 | 6 | p.user = fast_create(:user) |
7 | 7 | |
8 | 8 | assert_equal true, p.save | ... | ... |