upper_and_lower_case_characters.rb 490 B

123456789101112131415161718
  1. class PasswordPolicy
  2. class UpperAndLowerCaseCharacters < PasswordPolicy::Backend
  3. UPPER_LOWER_REGEXPS = [/\p{Upper}.*\p{Upper}/, /\p{Lower}.*\p{Lower}/].freeze
  4. def valid?
  5. UPPER_LOWER_REGEXPS.all? { |regexp| @password.match?(regexp) }
  6. end
  7. def error
  8. ['Invalid password, it must contain at least 2 lowercase and 2 uppercase characters!']
  9. end
  10. def self.applicable?
  11. Setting.get('password_min_2_lower_2_upper_characters').to_i == 1
  12. end
  13. end
  14. end