diff --git a/app/models/user.rb b/app/models/user.rb index 29a0fb24b48ba0c17919c09a4b468b449290c513..a3d5efae234784070fab14b15e00602f35fee525 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -7,6 +7,7 @@ class User < ApplicationRecord validates :name, uniqueness: { case_sensitive: false, message: "already in use" }, allow_nil: false validates :email, uniqueness: { case_sensitive: false, message: "already in use" }, allow_nil: true, allow_blank: true + before_validation :cleanup_languages validates :languages_from, format: { with: /\A([a-z][a-z])(,[a-z][a-z])*\z/, message: "please use comma-separated two-letter codes"}, allow_blank: true validates :languages_from, length: { maximum: 14 } @@ -60,4 +61,9 @@ class User < ApplicationRecord valid_tokens = ["gargamel"] errors.add(:invitation_token, "is invalid") unless valid_tokens.include?(invitation_token) end + + def cleanup_languages + self.languages_from = self.languages_from.gsub(/\s+/, '').downcase + self.languages_to = self.languages_to.gsub(/\s+/, '').downcase + end end