Class: PasswordValidator
- Inherits:
 - 
      ActiveModel::EachValidator
      
        
- Object
 - ActiveModel::EachValidator
 - PasswordValidator
 
 
- Defined in:
 - app/validators/password_validator.rb
 
Overview
Class is used to verify that the user’s password is strong enough
Constant Summary collapse
- MINIMUM_LENGTH =
 10- MAX_LENGTH =
 256- MIN_UNIQUE_CHARACTERS =
 5- IGNORE_SIMILARITY_SHORTER_THAN =
 Decidim.config.password_similarity_length
- ADMIN_MINIMUM_LENGTH =
 Decidim.config.admin_password_min_length
- ADMIN_REPETITION_TIMES =
 Decidim.config.admin_password_repetition_times
- VALIDATION_METHODS =
 [ :password_too_short?, :password_too_long?, :not_enough_unique_characters?, :name_included_in_password?, :nickname_included_in_password?, :email_included_in_password?, :domain_included_in_password?, :password_too_common?, :denied?, :password_repeated? ].freeze
Class Method Summary collapse
Instance Method Summary collapse
- 
  
    
      #validate_each(record, attribute, value)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Check if user’s password is strong enough.
 
Class Method Details
.minimum_length_for(record) ⇒ Object
      24 25 26 27 28  | 
    
      # File 'app/validators/password_validator.rb', line 24 def self.minimum_length_for(record) return ADMIN_MINIMUM_LENGTH if record.try(:admin?) && Decidim.config.admin_password_strong MINIMUM_LENGTH end  | 
  
Instance Method Details
#validate_each(record, attribute, value) ⇒ Object
Check if user’s password is strong enough
record - Instance of a form (e.g. Decidim::RegistrationForm) or model attribute - “password” value - Actual password Returns true if password is strong enough
      36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51  | 
    
      # File 'app/validators/password_validator.rb', line 36 def validate_each(record, attribute, value) return false if value.blank? @record = record @attribute = attribute @value = value @weak_password_reasons = [] return true if strong? @weak_password_reasons.each do |reason| record.errors.add attribute, (reason) end false end  |