Commit 8dae35ef21de0659e22db9e6217d674a6d60b66d
1 parent
a5712091
Exists in
master
and in
5 other branches
correcoes_aderencia: Add regex to validate full name on person model
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
1 changed file
with
15 additions
and
0 deletions
Show diff stats
lib/ext/person.rb
| @@ -6,6 +6,8 @@ class Person | @@ -6,6 +6,8 @@ class Person | ||
| 6 | 6 | ||
| 7 | attr_accessible :percentage_incomplete | 7 | attr_accessible :percentage_incomplete |
| 8 | 8 | ||
| 9 | + validate :validate_full_name | ||
| 10 | + | ||
| 9 | scope :search, lambda { |name="", state="", city="", email=""| | 11 | scope :search, lambda { |name="", state="", city="", email=""| |
| 10 | like_sql = "" | 12 | like_sql = "" |
| 11 | values = [] | 13 | values = [] |
| @@ -55,6 +57,19 @@ class Person | @@ -55,6 +57,19 @@ class Person | ||
| 55 | self.user.secondary_email = value unless self.user.nil? | 57 | self.user.secondary_email = value unless self.user.nil? |
| 56 | end | 58 | end |
| 57 | 59 | ||
| 60 | + def validate_full_name | ||
| 61 | + reg_firsts_char = /(^|\s)([a-z]|[0-9])/ | ||
| 62 | + reg_special_char = /[^\w\*\s]/ | ||
| 63 | + | ||
| 64 | + invalid = reg_firsts_char.match(self.name) || reg_special_char.match(self.name) | ||
| 65 | + | ||
| 66 | + if invalid | ||
| 67 | + self.errors.add(:name, _("Should begin with a capital letter and no special characters")) | ||
| 68 | + return false | ||
| 69 | + end | ||
| 70 | + true | ||
| 71 | + end | ||
| 72 | + | ||
| 58 | def software? | 73 | def software? |
| 59 | false | 74 | false |
| 60 | end | 75 | end |