Class: MaxUsernameLengthValidator
- Inherits:
-
Object
- Object
- MaxUsernameLengthValidator
- Defined in:
- lib/validators/max_username_length_validator.rb
Constant Summary collapse
- MAX_USERNAME_LENGTH_RANGE =
8..60
Instance Method Summary collapse
- #error_message ⇒ Object
-
#initialize(opts = {}) ⇒ MaxUsernameLengthValidator
constructor
A new instance of MaxUsernameLengthValidator.
- #valid_value?(value) ⇒ Boolean
Constructor Details
#initialize(opts = {}) ⇒ MaxUsernameLengthValidator
Returns a new instance of MaxUsernameLengthValidator.
6 7 8 |
# File 'lib/validators/max_username_length_validator.rb', line 6 def initialize(opts = {}) @opts = opts end |
Instance Method Details
#error_message ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/validators/max_username_length_validator.rb', line 20 def if @max_range_violation I18n.t( "site_settings.errors.invalid_integer_min_max", min: MAX_USERNAME_LENGTH_RANGE.begin, max: MAX_USERNAME_LENGTH_RANGE.end, ) elsif @username.blank? I18n.t("site_settings.errors.max_username_length_range") else I18n.t("site_settings.errors.max_username_length_exists", username: @username) end end |
#valid_value?(value) ⇒ Boolean
10 11 12 13 14 15 16 17 18 |
# File 'lib/validators/max_username_length_validator.rb', line 10 def valid_value?(value) if !MAX_USERNAME_LENGTH_RANGE.cover?(value) @max_range_violation = true return false end return false if value < SiteSetting.min_username_length @username = User.where("length(username) > ?", value).pick(:username) @username.blank? end |